WP_REST_Server::READABLE, 'callback' => array( $this, 'get_blog_stats' ), 'permission_callback' => function () { return current_user_can( 'edit_posts' ); }, 'args' => array( 'post_id' => array( 'description' => __( 'Post ID to obtain stats for.', 'jetpack' ), 'type' => array( 'string', 'integer' ), 'required' => false, 'validate_callback' => function ( $param ) { return is_numeric( $param ); }, ), ), ), ) ); } /** * Get the blog stats. * * @param \WP_REST_Request $request Request object. * * @return array Blog stats. */ public function get_blog_stats( $request ) { $post_id = $request->get_param( 'post_id' ); return array( 'post-views' => Jetpack_Blog_Stats_Helper::get_stats( array( 'statsOption' => 'post', 'postId' => $post_id, ) ), 'blog-visitors' => Jetpack_Blog_Stats_Helper::get_stats( array( 'statsOption' => 'blog', 'statsData' => 'visitors', ) ), 'blog-views' => Jetpack_Blog_Stats_Helper::get_stats( array( 'statsOption' => 'blog', 'statsData' => 'views', ) ), ); } } wpcom_rest_api_v2_load_plugin( 'WPCOM_REST_API_V2_Endpoint_Blog_Stats' );