我应该复制一个已经存在的插件,并使其与不同的服务提供商一起工作,所以我所做的是从原始插件中复制所有文件,字符串"小心地"将所有唯一的字符串替换为对应的字符串,然后瞧,插件成功启动了。现在,我不得不对插件如何处理新的第三方API做一些小的修改,我成功地完成了这些修改。
现在我只被困在一点上,就这样!!!其他一切都很好。
插件创建的菜单项仍然是相互连接的,尽管我已经彻底筛选了所有文件和不同的菜单添加功能,但仍然发生了。。。
当原始插件处于活动状态时,新插件的菜单项就不会出现。但是当我禁用原始插件时,新插件的菜单项就会出现!!
啊,我有多喜欢回答自己的问题,
罪魁祸首是参数数组$args
中的menu_position
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => false,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'capability_type' => 'post',
'has_archive' => false,
'hierarchical' => false,
'menu_position' => 15, // <== Culprit
'register_meta_box_cb' => array('mf_bridge_post_type', 'do_admin_metaboxes'),
'supports' => array('title')
);
在复制时,两个菜单项都被定位为null
,这造成了冲突,从而造成了混乱。