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