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 / Rest / Endpoint.php
wordpress-popular-posts / src / Rest Last commit date
Controller.php 4 years ago Endpoint.php 4 years ago PostsEndpoint.php 1 year ago TaxonomiesEndpoint.php 4 years ago ThemesEndpoint.php 4 years ago ThumbnailsEndpoint.php 4 years ago ViewLoggerEndpoint.php 8 months ago WidgetEndpoint.php 1 year 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