PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.3.4
WP Popular Posts v7.3.4
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 8 months ago Elementor 8 months ago LiteSpeedCache 8 months ago Polylang 8 months ago SiteGroundOptimizer 8 months ago W3TotalCache 8 months ago WPRocket 8 months ago Compat.php 8 months ago Compatibility.php 8 months 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