0

通常、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

4 に答える 4

3

add_actionには、3番目の引数(優先度)として数値が必要だと思います。

この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 );
    }
}
于 2013-02-10T13:01:16.660 に答える
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);
于 2013-06-12T02:39:07.217 に答える
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' );
}
于 2013-02-10T13:13:33.453 に答える
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 文字列変換プラグインの 1.6.1。

于 2013-04-19T19:46:45.530 に答える