我正在开发一个小部件,该小部件将显示在两个日期之间发布的帖子,例如 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/