Php Wordpress按修改日期列出帖子

Php Wordpress按修改日期列出帖子,php,wordpress,date,Php,Wordpress,Date,我确实尝试了以下代码从修改日期获取所有wordpress帖子,但无法从修改日期获取帖子。通过使用以下代码,我通过post\u date而不是post\u modified获取数据。我已于2017年12月25日发布,其发布日期为2017年12月23日。我想在修改日期后获得数据 多谢各位 第一个代码: <?php $args = array( 'posts_per_page' => $Limit, 'post_type' => 'post', 'orderb

我确实尝试了以下代码从修改日期获取所有wordpress帖子,但无法从修改日期获取帖子。通过使用以下代码,我通过
post\u date
而不是
post\u modified
获取数据。我已于2017年12月25日发布,其发布日期为2017年12月23日。我想在修改日期后获得数据

多谢各位

第一个代码:

<?php
$args = array(
    'posts_per_page' => $Limit,
    'post_type' => 'post',
    'orderby' => 'modified',
    'offset' => ($Page - 1) * $Limit,
    'year'=>date('Y'),
    'monthnum'=>date('m'),
    'day'=> 25,
    'order'=> 'DESC',
);
?>
<?php
$args = array(
    'posts_per_page' => $Limit,
    'post_type' => 'post',
    'orderby' => 'modified',
    'offset' => ($Page - 1) * $Limit,
    'date_query' => array(
        array(
            'after'     => "December 24, 2017",            
        ),
    ),
);
?>

第二个代码:

<?php
$args = array(
    'posts_per_page' => $Limit,
    'post_type' => 'post',
    'orderby' => 'modified',
    'offset' => ($Page - 1) * $Limit,
    'year'=>date('Y'),
    'monthnum'=>date('m'),
    'day'=> 25,
    'order'=> 'DESC',
);
?>
<?php
$args = array(
    'posts_per_page' => $Limit,
    'post_type' => 'post',
    'orderby' => 'modified',
    'offset' => ($Page - 1) * $Limit,
    'date_query' => array(
        array(
            'after'     => "December 24, 2017",            
        ),
    ),
);
?>

我认为默认情况下WordPress没有此功能,但您可以实现此功能 通过过滤器

下面是一个示例代码:

将其写入
functions.php
文件中

function scopePostModifiedDate($sql)
{
    global $wpdb;
    $sql .= $wpdb->prepare(" AND DATE($wpdb->posts.post_modified) >= %s ", '2017-12-25');
    return $sql;
}
您需要时,请随时输入以下代码:

add_filter('posts_where', 'scopePostModifiedDate');

$args = array(
    'posts_per_page' => $Limit,
    'post_type' => 'post',
    'orderby' => 'modified',
    'offset' => ($Page - 1) * $Limit,
//    'date_query' => array(
//        array(
//            'after'     => "December 24, 2017",            
//        ),
//    ),
);
$custom_query = new WP_Query($args);
remove_filter('posts_where', 'scopePostModifiedDate');
//print_r($custom_query->request); //print SQL query
参考文献: