PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.6.2
Jetpack – WP Security, Backup, Speed, & Growth v13.6.2
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / _inc / lib / core-api / wpcom-endpoints / class-wpcom-rest-api-v2-endpoint-blog-stats.php
jetpack / _inc / lib / core-api / wpcom-endpoints Last commit date
business-hours.php 4 years ago class-wpcom-rest-api-v2-endpoint-admin-color.php 2 years ago class-wpcom-rest-api-v2-endpoint-admin-menu.php 2 years ago class-wpcom-rest-api-v2-endpoint-ai.php 2 years ago class-wpcom-rest-api-v2-endpoint-app-media.php 2 years ago class-wpcom-rest-api-v2-endpoint-blog-stats.php 2 years ago class-wpcom-rest-api-v2-endpoint-external-media.php 2 years ago class-wpcom-rest-api-v2-endpoint-following.php 2 years ago class-wpcom-rest-api-v2-endpoint-goodreads.php 2 years ago class-wpcom-rest-api-v2-endpoint-google-docs.php 4 years ago class-wpcom-rest-api-v2-endpoint-instagram-gallery.php 3 years ago class-wpcom-rest-api-v2-endpoint-mailchimp.php 3 years ago class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php 2 years ago class-wpcom-rest-api-v2-endpoint-newsletter-categories-subscriptions-count.php 2 years ago class-wpcom-rest-api-v2-endpoint-podcast-player.php 2 years ago class-wpcom-rest-api-v2-endpoint-publicize-share-post.php 3 years ago class-wpcom-rest-api-v2-endpoint-related-posts.php 2 years ago class-wpcom-rest-api-v2-endpoint-resolve-redirect.php 2 years ago class-wpcom-rest-api-v2-endpoint-search.php 4 years ago class-wpcom-rest-api-v2-endpoint-send-email-preview.php 2 years ago class-wpcom-rest-api-v2-endpoint-template-loader.php 3 years ago class-wpcom-rest-api-v2-endpoint-top-posts.php 2 years ago class-wpcom-rest-api-v2-endpoint-transient.php 5 years ago class-wpcom-rest-api-v3-endpoint-blogging-prompts.php 2 years ago gutenberg-available-extensions.php 2 years ago hello.php 4 years ago memberships.php 2 years ago publicize-connection-test-results.php 3 years ago publicize-connections.php 2 years ago publicize-services.php 3 years ago service-api-keys.php 2 years ago sites-posts-featured-media-url.php 2 years ago subscribers.php 3 years ago trait-wpcom-rest-api-proxy-request-trait.php 2 years ago
class-wpcom-rest-api-v2-endpoint-blog-stats.php
84 lines
1 <?php
2 /**
3 * Get blog stats.
4 *
5 * @package automattic/jetpack
6 */
7
8 use Automattic\Jetpack\Stats\WPCOM_Stats;
9
10 /**
11 * Blog Stats block endpoint.
12 */
13 class WPCOM_REST_API_V2_Endpoint_Blog_Stats extends WP_REST_Controller {
14 /**
15 * Constructor.
16 */
17 public function __construct() {
18 add_action( 'rest_api_init', array( $this, 'register_routes' ) );
19 }
20
21 /**
22 * Register endpoint routes.
23 */
24 public function register_routes() {
25 register_rest_route(
26 'wpcom/v2',
27 '/blog-stats',
28 array(
29 array(
30 'methods' => WP_REST_Server::READABLE,
31 'callback' => array( $this, 'get_blog_stats' ),
32 'permission_callback' => function () {
33 return current_user_can( 'edit_posts' );
34 },
35 'args' => array(
36 'post_id' => array(
37 'description' => __( 'Post ID to obtain stats for.', 'jetpack' ),
38 'type' => array( 'string', 'integer' ),
39 'required' => false,
40 'validate_callback' => function ( $param ) {
41 return is_numeric( $param );
42 },
43 ),
44 ),
45 ),
46 )
47 );
48 }
49
50 /**
51 * Get the blog stats.
52 *
53 * @param \WP_REST_Request $request Request object.
54 *
55 * @return array Blog stats.
56 */
57 public function get_blog_stats( $request ) {
58 $wpcom_stats = new WPCOM_Stats();
59 $post_id = $request->get_param( 'post_id' );
60 $post_data = $wpcom_stats->convert_stats_array_to_object(
61 $wpcom_stats->get_post_views( $post_id, array( 'fields' => 'views' ) )
62 );
63 $blog_data = $wpcom_stats->convert_stats_array_to_object(
64 $wpcom_stats->get_stats( array( 'fields' => 'stats' ) )
65 );
66
67 if ( ! isset( $blog_data->stats->views ) || ! isset( $blog_data->stats->visitors ) ) {
68 return false;
69 }
70
71 if ( ! isset( $post_data->views ) ) {
72 $post_data->views = 0;
73 }
74
75 return array(
76 'post-views' => $post_data->views,
77 'blog-visitors' => $blog_data->stats->visitors,
78 'blog-views' => $blog_data->stats->views,
79 );
80 }
81 }
82
83 wpcom_rest_api_v2_load_plugin( 'WPCOM_REST_API_V2_Endpoint_Blog_Stats' );
84