这个问题似乎很常见,但对其他人有用的解决方案对我却不起作用。
我正在使用CPT UI插件,并创建了一个名为“课程”的CPT,设置如下:
register_post_type(\'courses\', array(
\'label\' => \'Courses\',
\'description\' => \'\',
\'public\' => true,
\'show_ui\' => true,
\'show_in_menu\' => true,
\'capability_type\' => \'post\',
\'map_meta_cap\' => true,
\'hierarchical\' => true,
\'rewrite\' => array(\'slug\' => \'courses\', \'with_front\' => true),
\'query_var\' => true,
\'supports\' => array(\'title\',\'editor\',\'excerpt\',\'trackbacks\',\'custom-fields\',\'comments\',\'revisions\',\'thumbnail\',\'author\',\'page-attributes\',\'post-formats\'),
\'labels\' => array (
\'name\' => \'Courses\',
\'singular_name\' => \'Course\',
\'menu_name\' => \'Courses\',
\'add_new\' => \'Add Course\',
\'add_new_item\' => \'Add New Course\',
\'edit\' => \'Edit\',
\'edit_item\' => \'Edit Course\',
\'new_item\' => \'New Course\',
\'view\' => \'View Course\',
\'view_item\' => \'View Course\',
\'search_items\' => \'Search Courses\',
\'not_found\' => \'No Courses Found\',
\'not_found_in_trash\' => \'No Courses Found in Trash\',
\'parent\' => \'Parent Course\',
)
然后,我创建了一个名为“课程”的页面和一个名为“页面课程”的专门页面模板。php和一个名为“单一课程”的模板。php“用于课程自定义帖子类型中的任何帖子。到目前为止,一切正常。
接下来,我创建了一个新页面,以“问题结帐”和“课程”作为其父页面。这一页给出了404。
我尝试了以下方法使其工作:
添加了管理:设置>永久链接和重新保存中的flush_rewrite_rules();
至功能。php并刷新了“问题签出”页面,安装了“重写规则”插件并刷新了重写规则,使用CPT UI创建了一个新的自定义帖子类型使用上述3个修复中的一个或多个确实修复了404上的“问题检出”。然而,我在课程页面的帖子上得到了404分,例如/课程/帖子标题。
不管我怎么努力,都是其中一个有效——我不能让课程帖子和子页面都是404免费的。
严格地说,我知道页面不应该具有与自定义帖子类型相同的名称,所以我怀疑这就是404的原因。我的下一个方法是删除“courses”页面及其子页面“questions checkout”。然后我改变了“页面课程”。php“to”存档课程。并将“has\\u archive”设置为“true”。
因此,就目前而言,我有一个工作档案页和我的“课程”自定义帖子类型的单数页。但我现在如何添加一个名为“问题签出”的页面,其中包含URL/课程/问题签出?
我正在使用WordPress 3.9.1多站点。