1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<?php namespace Elementor\Core;
use Elementor\Core\Utils\Collection;
if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. }
/** * This class is responsible for the interaction with WordPress Core API. * The main benefit is making it easy to mock in testing * and it can help to create unit tests without the hustle of mocking WordPress itself. */ class Wp_Api { /** * @var Collection */ private $plugins;
/** * @return Collection */ public function get_plugins() { if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; }
if ( ! $this->plugins ) { $this->plugins = new Collection( get_plugins() ); }
return $this->plugins; }
/** * @return Collection */ public function get_active_plugins() { return $this->get_plugins() ->only( get_option( 'active_plugins' ) ); }
/** * @return object|array */ public function plugins_api( $action, $args ) { return plugins_api( $action, $args ); }
/** * @return bool */ public function is_plugin_active( $plugin ) { return is_plugin_active( $plugin ); }
/** * @return bool|int|null|true */ public function activate_plugin( $plugin ) { return activate_plugin( $plugin ); }
public function wp_attachment_is_image( $post = null ) { return wp_attachment_is_image( $post ); } }
|