PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.3.7
WP Popular Posts v7.3.7
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 / ThumbnailsEndpoint.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 5 years ago ThemesEndpoint.php 4 years ago ThumbnailsEndpoint.php 5 years ago ViewLoggerEndpoint.php 8 months ago WidgetEndpoint.php 1 year ago
ThumbnailsEndpoint.php
59 lines
1 <?php
2 namespace WordPressPopularPosts\Rest;
3
4 class ThumbnailsEndpoint extends Endpoint {
5
6 /**
7 * Registers the endpoint(s).
8 *
9 * @since 5.4.0
10 */
11 public function register()
12 {
13 $version = '1';
14 $namespace = 'wordpress-popular-posts/v' . $version;
15
16 register_rest_route($namespace, '/thumbnails', [
17 [
18 'methods' => \WP_REST_Server::READABLE,
19 'callback' => [$this, 'get_items'],
20 'permission_callback' => function() {
21 return current_user_can('edit_posts');
22 }
23 ]
24 ]);
25 }
26
27 /**
28 * Gets popular posts.
29 *
30 * @since 5.4.0
31 * @param \WP_REST_Request $request Full data about the request.
32 * @return \WP_REST_Response
33 */
34 public function get_items($request)
35 {
36 global $_wp_additional_image_sizes;
37
38 $available_sizes = [];
39 $get_intermediate_image_sizes = get_intermediate_image_sizes();
40
41 // Create the full array with sizes and crop info
42 foreach( $get_intermediate_image_sizes as $_size ) {
43 if ( in_array($_size, ['thumbnail', 'medium', 'large']) ) {
44 $available_sizes[$_size]['width'] = get_option($_size . '_size_w');
45 $available_sizes[$_size]['height'] = get_option($_size . '_size_h');
46 $available_sizes[$_size]['crop'] = (bool) get_option($_size . '_crop');
47 } elseif ( isset($_wp_additional_image_sizes[$_size]) ) {
48 $available_sizes[$_size] = [
49 'width' => $_wp_additional_image_sizes[$_size]['width'],
50 'height' => $_wp_additional_image_sizes[$_size]['height'],
51 'crop' => $_wp_additional_image_sizes[$_size]['crop']
52 ];
53 }
54 }
55
56 return new \WP_REST_Response($available_sizes, 200);
57 }
58 }
59