Top Posts & Pages Widget: Remove all Popular posts that weren’t published within the last month
By default, the Top Posts widget includes all popular posts on your site in the past 2 days, even if those posts were published a long time ago. The jetpack_widget_get_top_posts
filter allows you to change that, and remove all Popular posts that weren’t published within the last month.
/** * Remove all Popular posts that weren't published within the last month */ function jeherve_remove_old_top_posts( $posts, $post_ids, $count ) { foreach ( $posts as $k => $post ) { // Date when the post was published $post_date = strtotime( get_the_date( 'Ymd', $post['post_id'] ) ); // If the post was published more than 30 days ago, let's remove it from the Top Posts widget if ( $post_date < strtotime( '-30 days' ) ) { unset( $posts[$k] ); } } return $posts; } add_filter( 'jetpack_widget_get_top_posts', 'jeherve_remove_old_top_posts', 10, 3 );
This entry was posted in Code snippets and tagged Filter, jetpack_widget_get_top_posts, stats, Top Posts, widgets. Bookmark the permalink.
Explore the benefits of Jetpack plans
Compare plans in detail to see how Jetpack can help you design, market, and secure your WordPress site.
Compare plans