本文最后更新于 2024年5月2日,已超过 6 月没有更新,如果文章内容失效,请反馈给我们,谢谢!
今天遇到一个神奇的BUG,
wp_add_dashboard_widget() 和 add_meta_box() 生成的元框相互对不上。
经排查发现 do_meta_boxes() 有这么一段
if ( empty( $screen ) ) {
$screen = get_current_screen();
} elseif ( is_string( $screen ) ) {
$screen = convert_to_screen( $screen );
}
会发现,经过了 convert_to_screen() 函数后输出的id不是一样的
echo get_current_screen()->id;
$screen = convert_to_screen( get_current_screen()->id );
echo '<br>'. $screen->id;
问题就在 add_action('admin_menu','') 里
主菜单的侧边栏名称用了中文,换回英文就好了
<?php
add_action('admin_menu', function () {
$krjojo_tool_menu = add_menu_page(
'手里有只毛毛虫工具箱', // 页面内标题
'KRJtool', // 侧边栏名称 <---- 就是这一行
'manage_options', // 菜单所需的功能
'krjojo_tool_setting_slug', // id (slug)
'krjojo_tool_setting_html', // 页面的内容
plugin_dir_url(__FILE__) . 'images/icon.svg', // 图标
20 // 菜单顺序中的位置
);
});
© 版权声明
分享是一种美德,转载请保留原链接
THE END