PluginProbe
WP Popular Posts / 7.4.2
WP Popular Posts v7.4.2
7.4.2 7.4.1 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 All 93 releases
wordpress-popular-posts / src / Compatibility / Polylang / Polylang.php
Polylang.php
65 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Reloads plugin's .mo file when Polylang is present.
4 *
5 * @package WordPressPopularPosts
6 * @subpackage WordPressPopularPosts/Compatibility
7 * @author Hector Cabrera <me@cabrerahector.com>
8 */
9
10 namespace WordPressPopularPosts\Compatibility\Polylang;
11
12 use WordPressPopularPosts\Compatibility\Compat;
13
14 class Polylang extends Compat
15 {
16 /**
17 * Admin settings.
18 *
19 * @since 7.2.0
20 * @var array
21 * @access protected
22 */
23 private $config;
24
25 /**
26 * Construct.
27 *
28 * @param array $settings
29 */
30 public function __construct($settings)
31 {
32 $this->config = $settings;
33 }
34
35 /**
36 * Hooks into init to load current textdomain.
37 */
38 public function init()
39 {
40 if ( function_exists('PLL') ) {
41 add_action('init', [$this, 'load_textdomain']);
42 }
43 }
44
45 /**
46 * Loads current textdomain.
47 */
48 public function load_textdomain() {
49 // This is basically a "hack" and should be removed in the future
50 // if/when we figure out why Polylang doesn't load WPP's mo files
51 // while WPML does automatically.
52
53 $locale_file = WP_LANG_DIR . '/plugins/wordpress-popular-posts-' . get_locale() . '.mo';
54
55 if (
56 ! is_admin()
57 && ! $this->config['tools']['ajax']
58 && file_exists($locale_file)
59 ) {
60 unload_textdomain('wordpress-popular-posts');
61 load_textdomain('wordpress-popular-posts', $locale_file);
62 }
63 }
64 }
65