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