存档页面日期的 WP_Query 不起作用

Posted

技术标签:

【中文标题】存档页面日期的 WP_Query 不起作用【英文标题】:WP_Query for Archive Page Date not work 【发布时间】:2017-06-14 18:18:20 【问题描述】:

我在 archive.php 上编辑了我的主题,只显示一个特定的帖子并排除一个带有特定 meta_key 的帖子:

$posts_to_exclude_args = array(
                    'meta_key' => 'vip_box',                
                    );
                    $posts_to_exclude = new WP_Query( $posts_to_exclude_args );
                    $to_exclude = array();
                    while ( $posts_to_exclude->have_posts() ) : $posts_to_exclude->the_post(); 
                        $to_exclude[] = $post->ID;
                    endwhile;
                    wp_reset_postdata();
                    $lastupdated_args = array(
                    'post__not_in' => $to_exclude,
                    'author__in'     => $author,
                    'category__in'   => $terms,
                    'posts_per_page' => 12,
                    'has_archive' => true,
                    'paged'          => $paged,                 
                    );
                    $lastupdated_loop = new WP_Query( $lastupdated_args );
                    query_posts( $lastupdated_args );
<?php if ( have_posts() ) : ?>

它很完美,但现在如果我打开一个日期链接/url mywebsite.com/2017/06,它会显示所有帖子,而不仅仅是这个日期的帖子,为什么?

你能帮帮我吗?

【问题讨论】:

另一方面,您不必在WP_Query 之后使用query_posts。他们做同样的事情,但强烈推荐WP_Query,因为它不会修改全局变量,在任何地方都可以安全使用,并且在查询帖子时效率更高。循环只需要更改为&lt;?php if ( $lastupdated_loop-&gt;have_posts() ) : while ( $lastupdated_loop-&gt;have_posts() ) : $lastupdated_loop-&gt;the_post(); ?&gt; 感谢您的建议 =) 【参考方案1】:

我已经修复了这段代码,但我认为有比这更好的解决方案。 =)

$year     = get_query_var('year');
                    $monthnum = get_query_var('monthnum');
                    $day      = get_query_var('day');

'date_query' => array(
                        array(
                        'year'     => $year,
                        'monthnum'    => $monthnum,  
                        'day'  => $day,  
                            ),
                        ),
                    );

【讨论】:

以上是关于存档页面日期的 WP_Query 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

WP_Query($args) 在 Wordpress 中不起作用

WP archive.php 不起作用

WordPress 自定义帖子类型存档-<帖子类型>.php 不起作用

iOS存档不起作用

xcodebuild 存档配置不起作用

Jenkins存档单个文件不起作用