WordPress正在404我所有的自定义帖子类型帖子。我是不是错过了一步?
我正在使用以下设置我的CPT:
function custom_post_types() {
register_post_type(
\'creativework\',
array(
\'labels\' => array(
\'name\' => _x(\'Works\', \'post type general name\'),
\'singular_name\' => _x(\'Work\', \'post type singular name\'),
\'add_new\' => _x(\'Add New\', \'Work\'),
\'add_new_item\' => __(\'Add New Work\'),
\'edit_item\' => __(\'Edit Work\'),
\'new_item\' => __(\'New Work\'),
\'all_items\' => __(\'All Works\'),
\'view_item\' => __(\'View Work\'),
\'search_items\' => __(\'Search Works\'),
\'not_found\' => __(\'No Works found\'),
\'not_found_in_trash\' => __(\'No Works found in Trash\'),
\'parent_item_colon\' => \'\',
\'menu_name\' => __(\'Works\')
),
\'public\' => true,
\'menu_position\' => 5,
//\'rewrite\' => array(\'slug\' => \'work\'),
\'supports\' => array(\'title\', \'editor\', \'thumbnail\'),
\'has_archive\' => \'true\'
)
);
}
add_action( \'init\', \'custom_post_types\' );
我最初在类型中有一个下划线(
creative_work
), 将slug重写为“work”,但我不知道WordPress将使用哪个排列来查找模板,我尝试了以下文件名
single-creative_work.php
,
single-creativework.php
,
single-work.php
, 全部低于
themes/roots/
(我正在使用
Roots 作为基线主题),内容如下:
<?php get_template_part(\'templates/content\', \'work\'); ?>
但是
themes/roots/templates/content-work.php
从未显示。相反,似乎
themes/roots/page.php
被端上来了吗?当我手动编辑时
page.php
到
get_template_part(\'templates/content\', \'work\')
作为一个测试,它似乎使用了我想要的模板,但它在显示主页的地方有帖子ID或其他错误
website.com/creativework/
.
为了消除所有可能的冲突,我停用了根目录,取而代之的是2133,并禁用了除一个插件之外的所有插件,我编写的插件是为了设置CPT(顶部的代码)。现在,每当我击中website.com/creativework/
或website.com/creativework/post-title
(根据博文编辑器或搜索结果中“查看工作”的永久链接,我得到的是404而不是主页,尽管两者都有single-creativework.php
和archive-creativework.php
现有于下themes/twentythirteen
.
EDIT: website.com/?creativework=post-title
, 然而,这是可行的。
我被这一切搞糊涂了。逐步设置自定义帖子类型模板的正确、简单的方法是什么?理想情况下,我想知道如何在根中做到这一点,但现在我将决定如何让它工作。