WordPress:即使没有帖子显示存档

时间:2017-04-11 11:15:37

标签: php wordpress

在我的WordPress网站上,我有一个存档页面,例如:http://www.example.com/2017。我的archive.php文件有一个显示帖子的查询以及两种自定义帖子类型:案例研究媒体

global $wp_query;
        $args = array_merge( $wp_query->query, array( 'post_type' => array('post','case-studies','media'), 'posts_per_page' => 3 ) );
        query_posts( $args );

        while ( have_posts() ) : the_post();

只有在发布(WordPress中包含的标准发布类型)下有帖子才会显示存档页面,否则它将为404,即使案例研究中有帖子媒体

这有解决方法吗?

以下链接指向我感兴趣的人:archive.php

2 个答案:

答案 0 :(得分:0)

我以前遇到过这个问题。您可以在functions.php文件中添加一项功能,该功能可以将页面重定向到archive.php,而不是通常的404.看看是否有效:

function wpd_date_404_template( $template = '' ){
   global $wp_query;
      if( isset($wp_query->query['year'])
          || isset($wp_query->query['monthnum'])
          || isset($wp_query->query['day']) ){
          $template = locate_template( 'archive.php', false );
      }
   return $template;
}
add_filter( '404_template', 'wpd_date_404_template' );

在WordPress StackExchange上归功于Milo。在这里查看他的答案:Preventing 404 error on empty date archive

答案 1 :(得分:0)

2^31

只需使用@ Dev1997他的答案即可解决该问题。在将特定模板用于当前(自定义)post_type的过程中做了一点改进。也许它将对使用自定义帖子类型的人有所帮助。