我一直在用我的头撞我的iMac,试图找出问题所在。我还浏览了这些档案,并尝试了以下修复方法:
清除可能存在冲突的类别/段塞flush_rewrite_rules( false );
\'has_archive\' => true
, \'has_archive\' => false
(以及许多类似的$args
变化archive-{CPT}.php
, archive-{CPTSlug}.php
category-{CPT}.php
, category-{CPTSlug}.php
content-{CPT}.php
, content-{CPTSlug}.php
{CPT}-archive.php
, {CPTSlug}-archive.php
更改CPT和分类的slug,并刷新永久链接www.site.com/CPTSlug
或www.site.com/CPT
. 然而,CPT的各个帖子在URL上正确显示www.site.com/CPTSlug/post_title
.当我将这些设置为类别而不是自定义帖子类型时,它工作得非常好。如果有人能发现这个问题,我将不胜感激。
function register_artists_post_type() {
register_post_type(\'artists\',array(
\'labels\' => array(
\'name\' => __( \'Artists\' ),
\'singular_name\' => __( \'Artist\' ),
\'add_new\' => __( \'Add Artist\',\'Artist\' ),
\'add_new_item\' => __( \'Add New Artist\' ),
\'edit_item\' => __( \'Edit Artist\' ),
\'new_item\' => __( \'New Artist\' ),
\'view_item\' => __( \'View Artist\' ),
\'search_items\' => __( \'Search Artists\' ),
\'not_found\' => __( \'No Artists Found\' ),
\'not_found_in_trash\' => __( \'No Artists In Trash\' ),
\'parent_item_colon\' => \'\'
),
\'public\' => true,
\'publicly_queryable\' => true,
\'show_ui\' => true,
\'query_var\' => true,
\'has_archive\' => true,
\'supports\' => array( \'title\',\'editor\',\'excerpt\',\'custom-fields\',\'thumbnail\' ),
\'rewrite\' => array(\'slug\' => \'artists\'),
\'taxonomies\' => array(\'large_feature\',\'small_feature\'),
\'capability_type\' => \'post\',
\'hierarchical\' => false,
));
}
add_action(\'init\',\'register_artists_post_type\');
以前有一些类别被称为“艺术家”(slug=artists
) 以及包含large_feature
和small_feature
. 这些都已从数据库中删除,并已替换为下面的自定义帖子类型和您在注册中看到的slug。主题文件如下(虽然我认为这不是问题,因为它显示的是404页,但为了提供尽可能多的相关信息……)
archive.php
archive_{cpt}.php
category.php
一二www.site.com/CPTSlug
二
单篇文章正确地使用了single_{cpt}.php
. 然而,档案并非如此。
最合适的回答,由SO网友:kristina childs 整理而成
这个问题没有任何黄金答案,但为了解决这个问题,我确实把它修好了。
任何有这个问题的人。我强烈建议制作一个wordpress沙盒并在新安装中构建它。我做到了,效果很好。令人沮丧的是,在一个接一个地添加所有函数和插件之后,我从未遇到过同样的问题,即使我使用的是相同的数据库、相同的插件、相同的模板文件和相同的函数functions.php
.
唯一的区别是,我的主题是基于《211》,这次我选择了Starkers,这是一个面向主题开发人员的赤裸裸的主题。因此,它一定是《二十一世纪》的本土作品,这是相互矛盾的。令人遗憾的是,什么样的冲突仍然是个谜。