多个自定义帖子类型未在wordpress中注册

时间:2016-04-14 05:48:01

标签: php wordpress wordpress-theming

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。我在这里做错了什么?在我搜索的任何地方,它说我正在做的方式是正确的方式。

1 个答案:

答案 0 :(得分:1)

WordPress自定义帖子类型名称长度超过20个字符

WordPress标准使用最多20个字符作为自定义帖子类型名称。您可以在functions.php中添加新的自定义帖子类型的代码,但如果名称超过20个字符,WordPress将不接受它。

我搜索过它,并找到了获取名称超过20个字符的自定义帖子类型的解决方案:

  1. 在/ wp中打开 - 包含post.php文件并搜索以下行:

    if(strlen($ post_type)> 20) 返回新的WP_Error('post_type_too_long',__('帖子类型的长度不能超过20个字符'));

  2. 将此行更改为:(我的示例中我占用了50个字符)

    if(strlen($ post_type)> 50) 返回新的WP_Error('post_type_too_long',__('帖子类型的长度不能超过50个字符'));

  3. 然后打开您的数据库并编辑wp_posts> post_type列,从20个字符到50个字符。

  4. 请记住,如果您更新WordPress,则每次都需要执行这些步骤。

    更好的方法是你必须提供你的帖子类型的短名称(少于20个字符)。