web-dev-qa-db-ja.com

WordPressメニューでエクスポートページを削除または非表示にする方法

私はWordPressの管理者メニューからexport.phpページを削除しようとしています - >マルチサイト用のツールなので、ネットワーク管理者だけがそれを見ることができます

私はこれまでのところ次のようなコードを持っていますが、それを動かすことができません。

//***************************************************
// Remove export Page
//***************************************************
function remove_menu_export_pages() {
    remove_menu_page('export.php'); 
}
add_action( 'admin_init', 'remove_menu_export_pages' );

どうすればこれを解決できますか?

4
Oudin

WordPressの機能に疑問があるときはいつでも、Codexを参照してください。 Function_Reference/remove_menu_page

正しい関数は remove_submenu_pageadmin_menuにフックされています。

add_action( 'admin_menu', 'remove_submenu_wpse_82873' );

function remove_submenu_wpse_82873() 
{
    global $current_user;
    get_currentuserinfo();

    // If user not Super Admin remove export page
    if ( !is_super_admin() ) 
    {
        remove_submenu_page( 'tools.php', 'export.php' );
    }
}

そして、あなたはおそらくURLアドレス(http://example.com/wp-admin/export.php)を通してそのページへの直接アクセスをブロックしたいと思うでしょう:

add_action( 'admin_head-export.php', 'prevent_url_access_wpse_82873' );

function prevent_url_access_wpse_82873()
{
    global $current_user;

    // Only Super Admin Authorized, exit if user not
    if ( !is_super_admin() ) {

      // User not authorized to access page, redirect to dashboard
      wp_redirect( admin_url( 'index.php' ) ); 
      exit;
    }
}
4
brasofilo

簡単な作業コードは次のとおりです。

add_filter( 'bp_settings_show_user_data_page', 'logan_plz_remove_export_data_tab_from_myprofile' );
function logan_plz_remove_export_data_tab_from_myprofile($filter) {
    return false;
}

functions.php。にこのコードを書いてください

参照: http://prntscr.com/ojcxut

0