function custom_post_type(){
//post type for popular sight seeing
$labels = array(
'name' => _x( 'popular_site_seeing', 'Post Type General Name', 'travel' ),
'singular_name'=> _x( 'popular_site_seeing', 'Post Type Singular Name', 'travel' ),
);
$args = array(
'label' => __( 'popular_site_seeing', 'travel' ),
'description' => __( 'popular_site_seeing', 'travel' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'taxonomies' => array( 'genres' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'has_archive' => true,
'publicly_queryable' => true,
'capability_type' => 'post',
);
// Registering popular_site_seeing
register_post_type( 'popular_site_seeing', $args);
//post type for popular_treking_climbing
$labels= array(
'name' => _x( 'popular_treking_climbing', 'Post Type General Name', 'travel' ),
'singular_name'=> _x( 'popular_treking_climbing', 'Post Type Singular Name', 'travel' ),
);
$args = array(
'label' => __( 'popular_treking_climbing', 'travel' ),
'description' => __( 'popular_treking_climbing', 'travel' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'taxonomies' => array( 'genres' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'has_archive' => true,
'publicly_queryable' => true,
'capability_type' => 'post',
);
//registering popular_treking_climbing
register_post_type( 'popular_treking_climbing', $args);
}
add_action( 'init', 'custom_post_type' );
正如你所看到我试图在wordpress中制作两个自定义帖子类型,一个叫做popular_site_seeing,另一个叫做popular_treking_climbing.the自定义帖子popular_site_seeing正在注册,我可以从wp管理面板访问它但是,另一个帖子在wp管理面板上没有显示类型popular_treking_climbing。我在这里做错了什么?在我搜索的任何地方,它说我正在做的方式是正确的方式。
答案 0 :(得分:1)
WordPress自定义帖子类型名称长度超过20个字符
WordPress标准使用最多20个字符作为自定义帖子类型名称。您可以在functions.php中添加新的自定义帖子类型的代码,但如果名称超过20个字符,WordPress将不接受它。
我搜索过它,并找到了获取名称超过20个字符的自定义帖子类型的解决方案:
在/ wp中打开 - 包含post.php文件并搜索以下行:
if(strlen($ post_type)> 20) 返回新的WP_Error('post_type_too_long',__('帖子类型的长度不能超过20个字符'));
将此行更改为:(我的示例中我占用了50个字符)
if(strlen($ post_type)> 50) 返回新的WP_Error('post_type_too_long',__('帖子类型的长度不能超过50个字符'));
然后打开您的数据库并编辑wp_posts> post_type列,从20个字符到50个字符。
请记住,如果您更新WordPress,则每次都需要执行这些步骤。
更好的方法是你必须提供你的帖子类型的短名称(少于20个字符)。