我一直在wordpress多站点安装中工作。我使用的upPrev插件在外观->>upPrev下有一个选项页
现在我需要的是在设置->>upPrev下移动此菜单,而不编辑核心插件文件。以下是用于在upPrev中注册菜单的代码。php:
add_action( \'admin_menu\', \'iworks_upprev_add_pages\' );
function iworks_upprev_add_pages()
{
$dir = explode(\'/\', dirname(__FILE__));
$dir = $dir[ count( $dir ) - 1 ];
if (current_user_can( \'manage_options\' ) && function_exists(\'add_theme_page\') ) {
add_theme_page(
__(\'upPrev\', \'upprev\'),
__(\'upPrev\', \'upprev\'),
\'manage_options\',
$dir.\'/admin/index.php\'
);
}
}
我已尝试使用以下代码更新菜单:
add_action( \'admin_menu\', \'my_remove_tp\', 999 );
function my_remove_tp() {
remove_submenu_page( \'themes.php\', \'upprev/admin/index.php\' );
}
add_action(\'admin_menu\', \'upprev_menu\');
function upprev_menu(){
//add_options_page(\'upPrev Menu\', \'upPrev\', \'manage_options\', \'upprev/admin/index.php\', \'upprev\');
if (current_user_can( \'manage_options\' ) && function_exists(\'add_options_page\') ) {
add_options_page(
__(\'upPrev\', \'upprev\'),
__(\'upPrev\', \'upprev\'),
\'edit_page\', \'options-general.php?page=upprev/admin/index.php\');
}
}
结果:菜单显示在“设置”下,但会导致一个空白页。。。你知道怎么修复吗??
最合适的回答,由SO网友:Abdul Awal 整理而成
我已经修好了。。。在此处发布解决方案,如果它有助于某人。。。以下是修复我的问题的最终代码:
/** Remove the Menu registered by Plugin **/
add_action( \'admin_menu\', \'my_remove_tp\', 999 );
function my_remove_tp() {
remove_submenu_page( \'themes.php\', \'upprev/admin/index.php\' );
}
/** Re-Register the menu from here **/
add_action(\'admin_menu\', \'upprev_menu2\');
function upprev_menu2(){
add_options_page(\'upPrev Menu\', \'upPrev\', \'manage_options\', \'upprev/admin/index.php\', \'\');
}