启用其他插件时,WP Admin菜单项将隐藏


WP Admin menu item hides when other plugin is enabled

我应该复制一个已经存在的插件,并使其与不同的服务提供商一起工作,所以我所做的是从原始插件中复制所有文件,字符串"小心地"将所有唯一的字符串替换为对应的字符串,然后瞧,插件成功启动了。现在,我不得不对插件如何处理新的第三方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,这造成了冲突,从而造成了混乱。