PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 6.4.1
WP Popular Posts v6.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 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 / ThemesEndpoint.php
wordpress-popular-posts / src / Rest Last commit date
Controller.php 2 years ago Endpoint.php 2 years ago PostsEndpoint.php 2 years ago TaxonomiesEndpoint.php 2 years ago ThemesEndpoint.php 2 years ago ThumbnailsEndpoint.php 2 years ago ViewLoggerEndpoint.php 2 years ago WidgetEndpoint.php 2 years ago
ThemesEndpoint.php
67 lines
1 <?php
2 namespace WordPressPopularPosts\Rest;
3
4 use WordPressPopularPosts\Themer;
5 use WordPressPopularPosts\Translate;
6
7 class ThemesEndpoint extends Endpoint {
8
9 /**
10 * Themer object.
11 *
12 * @var \WordPressPopularPosts\Themer $themer
13 * @access private
14 */
15 private $themer;
16
17 /**
18 * Initializes class.
19 *
20 * @param array
21 * @param \WordPressPopularPosts\Translate
22 * @param \WordPressPopularPosts\Themer
23 */
24 public function __construct(array $config, Translate $translate, Themer $themer)
25 {
26 $this->config = $config;
27 $this->translate = $translate;
28 $this->themer = $themer;
29 }
30
31 /**
32 * Registers the endpoint(s).
33 *
34 * @since 5.4.0
35 */
36 public function register()
37 {
38 $version = '1';
39 $namespace = 'wordpress-popular-posts/v' . $version;
40
41 register_rest_route($namespace, '/themes', [
42 [
43 'methods' => \WP_REST_Server::READABLE,
44 'callback' => [$this, 'get_items'],
45 'permission_callback' => function() {
46 return current_user_can('edit_posts');
47 }
48 ]
49 ]);
50 }
51
52 /**
53 * Gets popular posts.
54 *
55 * @since 5.4.0
56 * @param \WP_REST_Request $request Full data about the request.
57 * @return \WP_REST_Response
58 */
59 public function get_items($request)
60 {
61 $registered_themes = $this->themer->get_themes();
62 ksort($registered_themes);
63
64 return new \WP_REST_Response($registered_themes, 200);
65 }
66 }
67