PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.3.1
WP Popular Posts v7.3.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 / ThumbnailsEndpoint.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
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