WordPress删除管理菜单项

时间:2013-02-10 12:51:37

标签: wordpress

通常,删除wp-admin菜单项不是问题,例如:

add_action( 'admin_init', 'my_remove_menu_pages' );

function my_remove_menu_pages() {               
  remove_submenu_page( 'themes.php', 'theme-editor.php' );                                          
}

但是我目前正在努力学习以下页面:

admin.php?page=wpml-string-translation/menu/string-translation.php

删除此内容的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

我认为你的add_action需要一个数字作为第三个参数(优先级)。

实施例

如果你有这个add_action:

add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );

要删除它,它需要更高的优先级(11):

<?php # -*- coding: utf-8 -*-
/**
 * Plugin Name: Remove WP Menu From Tool Bar
 */
if ( ! function_exists( 't5_remove_wp_menu' ) )
{
    // The action is added with a priority of 10, we take one step later.
    add_action( 'init', 't5_remove_wp_menu', 11 );

    /**
     * Remove the WP menu action.
     */
    function t5_remove_wp_menu()
    {
        is_admin_bar_showing() &&
            remove_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );
    }
}

答案 1 :(得分:2)

根据之前的答案,这里是两个WPML用户菜单的完整解决方案:

function remove_menu_items()
{
    //removes the 'String Translation' menu item from editor's admin screen
    if (defined('WPML_ST_FOLDER')){
        remove_menu_page(WPML_ST_FOLDER.'/menu/string-translation.php');
    }
    //removes the 'Translation Interface' menu item from editor's admin screen
    if (defined('WPML_TM_FOLDER')){
        remove_menu_page(WPML_TM_FOLDER . '/menu/translations-queue.php');
    }
}
add_action('admin_menu', 'remove_menu_items', 999);

答案 2 :(得分:1)

我认为这应该有效,

add_action( 'admin_init', 'my_remove_menu_pages' );

function my_remove_menu_pages() {
    remove_submenu_page( 'admin.php?page=wpml-string-translation/menu/string-translation.php', 'admin.php?page=wpml-string-translation/menu/string-translation.php' );
}

答案 3 :(得分:0)

工作解决方案:

function remove_menu_items()
{
    //removes the String Translation menu item from editor's admin screen
    if (defined('WPML_ST_FOLDER'))
        remove_menu_page(WPML_ST_FOLDER.'/menu/string-translation.php');
}
add_action('admin_menu', 'remove_menu_items', 999);

它需要更高的优先级来创建它并避免任何问题让我们使用相同的WPML常量,我们可以在插件文件夹中的文件“wpml-string-translation-class.php”中找到它,第212行从WPML String Transtation插件的1.6.1版开始。