php - 获取在 wordpress 中特定日期之间发布的帖子

标签 php wordpress

我正在开发一个小部件,该小部件将显示在两个日期之间发布的帖子,例如 1 月 15 日和 3 月 15 日,但我不知道该怎么做。

我看到一些提到 query_posts() 的解决方案,但我认为这不是一个好的解决方案。因此,我愿意接受有关如何执行此操作的任何建议。

目前我正在考虑使用 pre_get_posts、WP_Query 或 get_posts,我尝试了这行代码:

function my_home_category( $query ) 
{
    if ( $query->is_home() && $query->is_main_query() )
    {
        $query->set( 'day', '15');
    }
}
add_action( 'pre_get_posts', 'my_home_category' );

但这会返回在任何一个月的 15 日发布的所有帖子。我知道我可以设置如下内容:

 $query->set( 'monthnum', '1');

并在 1 月 15 日发布帖子,但我想在 1 月 15 日至 3 月 15 日之间发布所有帖子,但我不知道如何实现。

它不必使用 pre_get_posts,它可以是 get_posts 或 WP_Query,我只是在寻找一种简单的方法来实现。

最佳答案

WP_Query 提供了一个 date_query 参数,允许您设置前后范围。

https://developer.wordpress.org/reference/classes/wp_query/#date-parameters

$args = array(
    'date_query' => array(
        array(
            'after'     => 'January 1st, 2015',
            'before'    => 'December 31st, 2015',
            'inclusive' => true,
        ),
    ),
);
$query = new WP_Query( $args );

关于php - 获取在 wordpress 中特定日期之间发布的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29275403/

相关文章:

jquery - Woocommerce 添加到购物车按钮缺失

php - 此站点似乎有未经授权的尝试访问您位于以下位置的数据库:

html - div 中的 "Masking"跨度适用于纯 HTML 但不适用于 wordpress

php - php 表单中的数据未插入数据库

PHP setlocale() 不适用于 ctype_alpha 检查

PHP 的 inet_pton() 转换 IPv4 和 IPv6

php - 电子商务 : editing product-category page outside the loop

php - Facebook 应用取消授权回调 URL

php - Zend Framework 2 从模块添加导航项

php - jquery或者php,如何让div中的各种图片随机显示?