2010-12-24 21 views
0

から「プロファイル」管理者メニューを削除し、私は完全に私はWordPressを使用しています管理パネル

は、いずれかのアイデアを持っているどのように私はこれを達成することができ、「プロファイル」メニュー・オプションを削除したいですか?

おかげ

答えて

1

Profilessプラグインは、加入者レベルでそれを行います。 他のグループの場合は、Capability managerプラグインと組み合わせて使用​​することをお勧めします。

4

完全を期すために、ここでは、プログラムでそれを行う方法です...

// Run the function on admin_init 
add_action('admin_init', 'remove_profile_menu'); 

// Removal function 
function remove_profile_menu() { 
    global $wp_roles; 

    // Remove the menu. Syntax is `remove_submenu_page($menu_slug, $submenu_slug)` 
    remove_submenu_page('users.php', 'profile.php'); 

    /* Remove the capability altogether. Syntax is `remove_cap($role, $capability)` 
    * 'Read' is the only capability subscriber has by default, and allows access 
    * to the Dashboard and Profile page. You can also remove from a specific user 
    * like this: 
    * $user = new WP_User(null, $username); 
    * $user->remove_cap($capability); 
    */ 
    $wp_roles->remove_cap('subscriber', 'read'); 
} 
+0

これにより、管理者へのアクセスが完全に削除されます。これは必ずしもOPが望むものではありません。 – Gazillion

0

私はこれが遅れている知っているが、私はちょうどこの上でつまずいたと私はそれに追加するだろうと思いました。サブメニューのプロファイルメニュー項目は削除されますが、メニュー項目は削除されません。完全にカスタムのプロファイルページを作成した私のような人にとって、私はユーザーがprofile.phpページにアクセスすることを望んでいません。だから、このコードは、そのために動作します:

function remove_profile_menu() { 

    remove_submenu_page('users.php', 'profile.php'); 
    remove_menu_page('profile.php'); 
} 

add_action('admin_init', 'remove_profile_menu'); 

をそして、あなたが唯一の特定の機能のためにこれをしたい場合は....このコードを使用します。

function remove_profile_menu() { 

    // Only the Admin can see the profile menu 
    if(!current_user_can('update_core')) { 

    remove_submenu_page('users.php', 'profile.php'); 
    remove_menu_page('profile.php'); 

    } 
} 

add_action('admin_init', 'remove_profile_menu'); 

あなたがにcurrent_user_can()関数を使用することができます誰がメニュー項目を表示するかを決定します。

+0

admin_initアクションを使用すると、メニューがまだ呼び出されていないため、サイトでいくつかのajaxエラーが発生します。したがって、代わりにこのアクションを使用してください:add_action( 'admin_menu'、 'remove_profile_menu'); – RiotAct

関連する問題