PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.1.0
WP Popular Posts v7.1.0
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 1 year ago Endpoint.php 1 year ago PostsEndpoint.php 1 year ago TaxonomiesEndpoint.php 1 year ago ThemesEndpoint.php 1 year ago ThumbnailsEndpoint.php 1 year ago ViewLoggerEndpoint.php 1 year ago WidgetEndpoint.php 1 year 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