注册帖子类型时,请设置has_archive
参数为false。如果您更改了它,请不要忘记刷新重写规则以查看更改。
现在,如果按照您的要求,希望显示页面而不是归档文件,那么这就可以了。如果您希望显示页面内容以及自定义帖子列表,那么情况如何?
有两种方法可以实现这一点。
1-使用页面模板这是我在网络上经常看到的模板。创建页面模板,在显示标题和内容后,使用自定义循环显示您的帖子。它确实起到了作用,但人们似乎经常被正确的分页弄得一团糟。
2页自定义帖子
这是我的首选方法。我保留
has_archive
当我注册我的帖子类型并创建一个普通页面以用于存档模板时。页面的slug与归档slug匹配。默认情况下,WP的重写规则是按顺序排列的,以便归档优于页面。
在我的archive-{post_type}.php
模板I放置此:
$queried_object = get_queried_object();
$page_data = get_page_by_path( $queried_object->rewrite[\'slug\'] );
/* no need to check our context, as we know that this
code will only run for our CPT archives
*/
if ( !is_single() ) {
echo apply_filters(\'the_content\', $page_data->post_content);
}
// process the content in the same way that the_content would within a loop
// Now go into your usual archive loop...
如果您愿意,您可以使用页面ID,甚至可以为您的帖子类型设置一个选项,该选项相当于帖子的内置页面。
这样,您就不必为自己重新构建更困难的归档查询。