我有一个自定义的帖子类型:
add_action(\'init\', \'dossierinfo_register\');
function dossierinfo_register() {
register_post_type( \'dossier\' , array(
\'label\' => __(\'Dossiers\'),
\'singular_label\' => __(\'Dossier\'),
\'public\' => true,
\'show_ui\' => true,
\'capability_type\' => \'page\',
\'hierarchical\' => true,
\'has_archive\' => false,
\'menu_position\' => 3,
\'supports\' => array(\'title\', \'editor\', \'thumbnail\', \'page-attributes\')
));
flush_rewrite_rules();
}
和一个名为page dossier的页面模板。php与
<?php
/*
Template Name: Dossiers
*/?>
但我不能用它!它不起作用了。该模板在普通页面中像一个魔咒一样工作,但在自定义帖子类型中却不起作用。
显然,我在管理区刷新了我的重写规则和永久链接…
我不知道该怎么办!有什么想法吗?
请用我的英语,我是法国人
感谢
编辑:是否可能我正在处理子域?
SO网友:shanebp
注册自定义帖子类型时,不应使用flush\\u rewrite\\u规则。这样做意味着您将在每次页面加载时刷新永久链接。相反,您应该使用register_activation_hook.
关于模板问题:尝试将模板重命名为单个档案。php
并尝试将register\\u post\\u类型数组更改为:
register_post_type( \'dossier\' , array(
\'label\' => __(\'Dossiers\'),
\'singular_label\' => __(\'Dossier\'),
\'public\' => true,
\'show_ui\' => true,
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'dossier\' ),
\'capability_type\' => array(\'dossier\', \'dossiers\'),
\'hierarchical\' => true,
\'has_archive\' => false,
\'menu_position\' => 3,
\'supports\' => array(\'title\', \'editor\', \'thumbnail\', \'page-attributes\')
));