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 / Rest / Endpoint.php
Endpoint.php
70 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace WordPressPopularPosts\Rest;
3
4 use WordPressPopularPosts\Translate;
5
6 abstract class Endpoint extends \WP_REST_Controller {
7
8 /**
9 * Plugin options.
10 *
11 * @var array $config
12 * @access private
13 */
14 protected $config;
15
16 /**
17 * Translate object.
18 *
19 * @var \WordPressPopularPosts\Translate $translate
20 * @access private
21 */
22 protected $translate;
23
24 /**
25 * Initializes class.
26 *
27 * @param array
28 * @param \WordPressPopularPosts\Translate
29 */
30 public function __construct(array $config, Translate $translate)
31 {
32 $this->config = $config;
33 $this->translate = $translate;
34 }
35
36 /**
37 * Registers the endpoint(s).
38 *
39 * @since 5.3.0
40 */
41 abstract public function register();
42
43 /**
44 * Sets language/locale.
45 *
46 * @since 5.3.0
47 */
48 protected function set_lang(?string $lang)
49 {
50 // Multilang support
51 if ( $lang ) {
52 $current_locale = get_locale();
53 $locale = null;
54
55 // Polylang support
56 if ( function_exists('PLL') ) {
57 $lang_object = PLL()->model->get_language($lang);
58 $locale = ( $lang_object && isset($lang_object->locale) ) ? $lang_object->locale : null;
59 }
60
61 // Reload locale if needed
62 if ( $locale && $locale != $current_locale ) {
63 $this->translate->set_current_language($lang);
64 unload_textdomain('wordpress-popular-posts');
65 load_textdomain('wordpress-popular-posts', WP_LANG_DIR . '/plugins/wordpress-popular-posts-' . $locale . '.mo');
66 }
67 }
68 }
69 }
70