我正面临一个问题。我是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
没有出现在菜单栏中。我哪里错了?请看这张图片。
在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
,但管理员菜单中则无法显示。
答案 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存在冲突。当我停用它时,问题就解决了。