为什么我的无效的帖子类型:
function keyword_pages_init() {
$args = array(
'label' => 'Keywords',
'public' => true,
'show_ui' => true,
'capability_type' => 'page',
'hierarchical' => false,
'rewrite' => array('slug' => 'keyword'),
'query_var' => true,
'menu_icon' => 'dashicons-admin-page',
'supports' => array(
'title',
'editor',
'excerpt',
// 'trackbacks',
//'custom-fields',
//'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',
)
);
register_post_type( 'keyword', $args );
}
add_action( 'init', 'keyword_pages_init' );
出了什么问题?
但使用s:
的关键字可以function keyword_pages_init() {
$args = array(
'label' => 'Keywords',
'public' => true,
'show_ui' => true,
'capability_type' => 'page',
'hierarchical' => false,
'rewrite' => array('slug' => 'keywords'),
'query_var' => true,
'menu_icon' => 'dashicons-admin-page',
'supports' => array(
'title',
'editor',
'excerpt',
// 'trackbacks',
//'custom-fields',
//'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',
)
);
register_post_type( 'keywords', $args );
}
add_action( 'init', 'keyword_pages_init' );
为什么!??
但它适用于新的函数名称!
function keyword2_pages_init() {
$args = array(
'label' => 'Keywordsx',
'public' => true,
'show_ui' => true,
'capability_type' => 'page',
'hierarchical' => false,
'rewrite' => array('slug' => 'keyword'),
'query_var' => true,
'menu_icon' => 'dashicons-admin-page',
'supports' => array(
'title',
'editor',
'excerpt',
// 'trackbacks',
//'custom-fields',
//'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',
)
);
register_post_type( 'keyword', $args );
}
add_action( 'init', 'keyword2_pages_init' );
为什么!!?
答案 0 :(得分:0)
register_post_type('keyword',$ args);
我认为关键字已经被主题或保留关键字使用,你可以使用像pre_keyword这样的和前缀来改变它
如果不行,也改变slu ..
它会解决我认为的问题。我没有测试它,因为我不能在这里测试。
答案 1 :(得分:0)
自定义帖子类型"关键字"很可能已经注册了。使用此功能列出所有已注册的帖子类型:
var_dump(get_post_types());
https://codex.wordpress.org/Function_Reference/get_post_types
基本上是名称"关键字"是合法的 - 来自文档:
$ post_type(string)(必填)帖子类型。 (最多20个字符,不能 包含大写字母或空格)默认值:无
https://codex.wordpress.org/Function_Reference/register_post_type
如果您确定slug 关键字未用于其他内容且错误仍然存在,那么可能是WordPress核心中的错误。如果你能找到报道的话。
特别是在过去有数百个WordPress项目的时候,我也遇到过这个问题一两次。
如果帖子类型已经存在 - 可以在这里找到如何取消注册帖子类型的答案(但是可能已经由其他插件或类似的原因注册了原因):https://wordpress.stackexchange.com/questions/3820/deregister-custom-post-types
此外,您应该注意add_action也有一个$priority
参数。优先权可能很重要。
https://developer.wordpress.org/reference/functions/add_action/