自定义帖子类型不出现在Wordpress管理菜单中

时间:2015-12-09 07:16:09

标签: php wordpress

我正面临一个问题。我是wordpress的新手。我为自定义帖子类型创建了一个函数。这是我的代码。

function my_cpt(){
    $labels = array(
        'name' => 'SM & Points Templates',
        'add_new' => 'Add New SM & Points Template(s)',
        'add_new_item' => 'Add New SM & Points Template(s)',
        'edit_item' => 'Edit SM & Points Template(s)'
    );
    $args = array(
        'labels' => $labels,
        'menu_icon' => 'dashicons-arrow-right-alt',
        'public' => true,
        'supports' => array('title')
    );
    register_post_type('custom_settings', $args);
    $labels1 = array(
        'name' => 'Fine Print',
        'add_new' => 'Add New Fine Print',
        'add_new_item' => 'Add New Fine Print',
        'edit_item' => 'Edit Fine Print'
    );
    $args1 = array(
        'labels' => $labels1,
        'menu_icon' => 'dashicons-arrow-right-alt',
        'public' => true,
        'supports' => array('title')
    );
    register_post_type('fine_prints', $args1);
    $labels2 = array(
        'name' => 'Post Hints',
        'add_new' => 'Add New Post Hint',
        'add_new_item' => 'Add New Post Hint',
        'edit_item' => 'Edit Post Hint'
    );
    $args2 = array(
        'labels' => $labels2,
        'menu_icon' => 'dashicons-arrow-right-alt',
        'public' => true,
        'supports' => array('editor')
    );
    register_post_type('post_hints', $args2);
    $labels3 = array(
        'name' => 'States',
        'add_new' => 'Add New State',
        'add_new_item' => 'Add New State',
        'edit_item' => 'Edit State'
    );
    $args3 = array(
        'labels' => $labels3,
        'menu_icon' => 'dashicons-arrow-right-alt',
        'public' => true,
        'supports' => array('title')
    );
    register_post_type('states', $args3);
    $labels4 = array(
        'name' => 'Help',
        'add_new' => 'Add Help',
        'add_new_item' => 'Add Help',
        'edit_item' => 'Edit Help'
    );
    $args4 = array(
        'labels' => $labels4,
        'menu_icon' => 'dashicons-arrow-right-alt',
        'public' => true,
        'supports' => array('title')
    );
    register_post_type('helps', $args4);
}

add_action('init',  'my_cpt');

问题是前4个帖子出现在管理员菜单中。但是最后Helps没有出现在菜单栏中。我哪里错了?请看这张图片。

enter image description here

States之后,应该有Help

编辑:

当我添加上一个自定义帖子时,我犯了一个小错误。我添加了这段代码。

$labels4 = array(
    'name' => 'Help',
    'add_new' => 'Add Help',
    'add_new_item' => 'Add Help',
    'edit_item' => 'Edit Help'
);
$args4 = array(
    'labels' => $labels4,
    'menu_icon' => 'dashicons-arrow-right-alt',
    'public' => true,
    'supports' => array('title')
);
register_post_type('states', $args4);

现在最后两个自定义帖子类型具有相同的ID states。但是当我看到它时,我将它改为helps。当我第一次使用states id添加它时出现了。但当我把它改为helps时,它消失了。在顶部菜单中,{strong>新下会显示Helps,但管理员菜单中则无法显示。

2 个答案:

答案 0 :(得分:0)

嗯,必须出现最终菜单,因为代码是正确的。尝试将最后一个菜单放在一个单独的函数中并挂钩..可能看起来像:

function my_custom_post_type(){
  $labels = array(
    'name' => 'Help',
    'add_new' => 'Add Help',
    'add_new_item' => 'Add Help',
    'edit_item' => 'Edit Help'
);
$args = array(
    'labels' => $labels,
    'menu_icon' => 'dashicons-arrow-right-alt',
    'public' => true,
    'supports' => array('title')
);
register_post_type('helps', $args);
}

add_action('init',  'my_custom_post_type');`

答案 1 :(得分:0)

我发现了这个问题。与插件WooCommerce Deals存在冲突。当我停用它时,问题就解决了。