get_posts no older than X days - Wordpress get_posts no older than X days - Wordpress wordpress wordpress

get_posts no older than X days - Wordpress


As of 3.7 you can use date_query https://developer.wordpress.org/reference/classes/wp_query/#date-parameters

So it would look like:

$args = array(    'posts_per_page' => 5,    'post_type' => 'post',    'orderby' => 'comment_count',    'order' => 'DESC',    'date_query' => array(        'after' => date('Y-m-d', strtotime('-10 days'))     )); $posts = get_posts($args);


The exemple from the doc should work just fine. get_posts() uses WP_Query() behind the scene to make the actual request. For your case the modified example should look something like this:

// Create a new filtering function that will add our where clause to the queryfunction filter_where( $where = '' ) {    // posts in the last 30 days    $where .= " AND post_date > '" . date('Y-m-d', strtotime('-10 days')) . "'";    return $where;}add_filter( 'posts_where', 'filter_where' );$query = get_posts(array (            'numberposts' => 5,            'orderby'=>'comment_count',            'order'=>'DESC',            'post_type'   => array ( 'post' )         ));remove_filter( 'posts_where', 'filter_where' );