2017-06-14 24 views
0

我已經編輯我的archive.php主題爲只顯示特定的職位和排除特定meta_key一個帖子:WP_Query歸檔頁面日期不行

$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()) : ?> 

而它的完美,但現在如果我打開一個日期鏈接/網址mywebsite.com/2017/06它顯示所有帖子,不僅在這個日期發佈,爲什麼?

請幫助我嗎?

+0

另一方面,您不必在'WP_Query'之後使用'query_posts'。他們做同樣的事情,但強烈建議'WP_Query',因爲它不修改全局變量,在任何地方使用都是安全的,並且在查詢帖子時更加高效。 ($ lastupdated_loop-> have_posts()):while($ lastupdated_loop-> have_posts()):$ lastupdated_loop-> the_post();這個循環只需要改成'<?php。 ?>' – WizardCoder

+0

感謝您的建議=) – user3477026

回答

0

我已經修復了這段代碼,但我認爲有一個比這更好的解決方案。 =)

$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, 
          ), 
         ), 
        );