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