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 / ThemesEndpoint.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
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