为什么我的URL一直返回404错误代码?

时间:2013-08-17 作者:Stephan

我在wordpress网站上有一个名为“movie”的自定义类型。

如果用户键入此URL:http://mysite.com/1994,<我想展示1994年出版的所有电影。

不幸的是,我得到了一个一致的404错误。当我打电话时get_post_type 在索引中。php(这是一个模板页面,因为我没有定义404.php),它显示“movie”,但我没有1994年的电影。。。至少现在还没有。

我穿了很长的衣服。

如果我让重写规则检查器检查URL,下面是http://mysite.com/1994:

([0-9]{4})/?$   index.php?year=$matches[1]  date
(.?.+?)(/[0-9]+)?/?$    index.php?pagename=$matches[1]&page=$matches[2] page
([^/]+)(/[0-9]+)?/?$    index.php?name=$matches[1]&page=$matches[2] post
我错过了什么?

2 个回复
SO网友:Stephan

这是我的问题的解决方案,感谢@Milo:

function wpa_date_archive_post_types( $query ){
    if( $query->is_main_query() && $query->is_date() ):
        $query->set( \'post_type\'   , array( \'movie\'   ) );
        $query->set( \'year\'        , 0                );
        $query->set( \'tag\'         , \'1994\' );
        $query->set( \'post_status\' , array( \'publish\' ) );
    endif;
}
add_action( \'pre_get_posts\', \'wpa_date_archive_post_types\' );

SO网友:Ryan Bayne

在1994年之前显示多个帖子使“1994”成为分类法中的一个术语,就像分类法中的类别或标记一样。

因此,您需要考虑一个适合分类的模板,列出多篇文章。您需要另一个模板来查看单击的任何电影。

Alex,你有日期分类设置吗?

结束