我已经创建了一个自定义帖子类型和自定义分类法(到目前为止都很好!)但当我试图查看帖子时,它给了我一个找不到的页面。
我需要做什么来设置下面的自定义帖子类型将使用的模板?
add_action( \'init\', \'create_post_type\' );
function create_post_type() {
register_post_type( \'members\',
array(
\'labels\' => array(
\'name\' => __( \'Members\' ),
\'singular_name\' => __( \'Members\' )
),
\'capability_type\' => \'post\',
\'supports\' => array(\'title\',\'editor\',\'comments\'),
\'public\' => true,
\'has_archive\' => true,
\'rewrite\' => array( \'slug\' => \'members\' ),
)
);
}
function members_init() {
// create a new taxonomy
register_taxonomy(
\'members\',
\'members\',
array(
\'label\' => __( \'Member Categories\' ),
\'sort\' => true,
\'hierarchical\' => true,
\'args\' => array( \'orderby\' => \'term_order\' ),
\'rewrite\' => array( \'slug\' => \'members\' )
)
);
}
add_action( \'init\', \'members_init\' );
最合适的回答,由SO网友:Stephen Harris 整理而成
根据WordPresstemplate hierarchy, 自定义帖子类型“my cpt”将首先尝试使用single-my-cpt
, 然后single.php
然后index.php
. 上述问题并不是由模板引起的,事实上,当找不到内容而不是模板时,会使用404。
您正在使用自定义重写:
\'rewrite\' => array( \'slug\' => \'members\' )
要让WordPress认识到这一点,您需要通过访问设置>永久链接页面刷新重写规则。