PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.3.5
WP Popular Posts v7.3.5
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 / Rest / Endpoint.php
wordpress-popular-posts / src / Rest Last commit date
Controller.php 8 months ago Endpoint.php 8 months ago PostsEndpoint.php 8 months ago TaxonomiesEndpoint.php 8 months ago ThemesEndpoint.php 8 months ago ThumbnailsEndpoint.php 8 months ago ViewLoggerEndpoint.php 8 months ago WidgetEndpoint.php 8 months ago
Endpoint.php
70 lines
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