PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / trunk
WP Popular Posts vtrunk
4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 5.0.0 5.0.1 5.0.2 5.1.0 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.1.2 6.1.3 6.1.4 6.2.0 6.2.1 6.3.0 6.3.1 6.3.2 6.3.3 6.3.4 6.4.0 6.4.1 6.4.2 7.0.0 7.0.1 7.1.0 7.2.0 7.3.0 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.4.0 trunk 2.3.7 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.2 4.0.3 4.0.5 4.0.6
wordpress-popular-posts / src / Compatibility / Compatibility.php
wordpress-popular-posts / src / Compatibility Last commit date
Autoptimize 1 year ago Elementor 8 months ago LiteSpeedCache 1 year ago Polylang 1 year ago SiteGroundOptimizer 1 year ago W3TotalCache 1 year ago WPRocket 1 year ago Compat.php 1 year ago Compatibility.php 1 year ago
Compatibility.php
88 lines
1 <?php
2 /**
3 * Loads various third-party compatibility scripts.
4 *
5 * @package WordPressPopularPosts
6 * @subpackage WordPressPopularPosts/Compatibility
7 * @author Hector Cabrera <me@cabrerahector.com>
8 */
9
10 namespace WordPressPopularPosts\Compatibility;
11
12 use WordPressPopularPosts\{Image, Themer};
13
14 class Compatibility
15 {
16 /**
17 * Compat array.
18 *
19 * @since 7.0.1
20 * @var array
21 * @access protected
22 */
23 protected $compat;
24
25 /**
26 * Admin settings.
27 *
28 * @since 7.2.0
29 * @var array
30 * @access protected
31 */
32 protected $config;
33
34 /**
35 * Image object.
36 *
37 * @var \WordPressPopularPosts\Image
38 * @access private
39 */
40 private $thumbnail;
41
42 /**
43 * Themer object.
44 *
45 * @var \WordPressPopularPosts\Themer $themer
46 * @access private
47 */
48 private $themer;
49
50 /**
51 * Construct.
52 *
53 * @param array $admin_settings
54 * @param \WordPressPopularPosts\Themer
55 */
56 public function __construct(array $admin_settings, Image $image, Themer $themer)
57 {
58 $this->compat = [
59 __NAMESPACE__ . '\Autoptimize\Autoptimize',
60 __NAMESPACE__ . '\Elementor\Elementor',
61 __NAMESPACE__ . '\LiteSpeedCache\LiteSpeedCache',
62 __NAMESPACE__ . '\Polylang\Polylang',
63 __NAMESPACE__ . '\SiteGroundOptimizer\SiteGroundOptimizer',
64 __NAMESPACE__ . '\W3TotalCache\W3TotalCache',
65 __NAMESPACE__ . '\WPRocket\WPRocket',
66 ];
67
68 $this->config = $admin_settings;
69 $this->thumbnail = $image;
70 $this->themer = $themer;
71 }
72
73 /**
74 * Loads all registered compatibility scripts.
75 *
76 * @since 7.0.1
77 */
78 public function load() : void
79 {
80 if ( is_array($this->compat) && ! empty($this->compat) ) {
81 foreach ($this->compat as $compat) {
82 $instance = new $compat($this->config, $this->thumbnail, $this->themer);
83 $instance->init();
84 }
85 }
86 }
87 }
88