Get #WordPress page view count from Jetpack
The below code snippet will return the page view count by $post_id if you are running the Jetpack WordPress plugin. The count is also stored in a transient that expires every 30 minutes for performance optimization.
/** * Get post pageview count */ function wds_post_pageview_count( $post_id ) { // Check for transient if ( ! ( $count = get_transient( 'wds_post_pageview_count' . $post_id ) ) ) { // Verify we're running Jetpack if ( function_exists( 'stats_get_csv' ) ) { // Do API call $response = stats_get_csv( 'postviews', 'post_id='. absint( $post_id ) .'&period=month&limit=1' ); // Set total count $count = absint( $response[0]['views'] ); // If not, stop and don't set transient } else { return 'Jetpack stats not active'; } // Set transient to expire every 30 minutes set_transient( 'wds_post_pageview_count' . absint( $post_id ), absint( $count ), 30 * MINUTE_IN_SECONDS ); } return absint( $count ); }
Full code gist: https://gist.github.com/williamsba/7824876
Props to Greg Rickaby.