PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 6.4.1
WP Popular Posts v6.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 / ThumbnailsEndpoint.php
wordpress-popular-posts / src / Rest Last commit date
Controller.php 2 years ago Endpoint.php 2 years ago PostsEndpoint.php 2 years ago TaxonomiesEndpoint.php 2 years ago ThemesEndpoint.php 2 years ago ThumbnailsEndpoint.php 2 years ago ViewLoggerEndpoint.php 2 years ago WidgetEndpoint.php 2 years 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