在我的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
答案 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的过程中做了一点改进。也许它将对使用自定义帖子类型的人有所帮助。