サポート » 使い方全般 » 管理画面の管理バーを権限によって非表示にしたい

  • 解決済 urashin

    (@urashin)


    ワードプレスを使って、何人かで投稿出来るようなサイトの構築を目指しています。
    メンバーには、管理者権限か投稿者権限を与えてあります。
    その時に、メンバーといろいろ話をしている中で、「投稿者は管理バーがなくても問題ない」という話が持ち上がりました。

    そこで、投稿者の権限の人の管理画面は、
    管理バー(一般的に管理画面の左側にある投稿やメディアなど項目が記されている部分)を
    表示しない状態にしようと思っているのですが、
    display:none;を使ってやろうとすると、管理者の管理バーまでも消えてしまいました。

    管理者だけは、その名の通りですがいろいろ出来るようにしておきたいと思っています。

    管理者だけ管理バーが表示されて、投稿者は管理バーが表示されない、
    ということは出来るのでしょうか?

    ちなみに、投稿者の投稿画面などは、ネットで調べて発見したコードをもとにしてアドミンバーから飛べるようにしました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • テーマの関数(functions.php)に以下のような関数を追加すれば、管理者以外の管理バーを消すことができます。

    function remove_admin_bar(){
    	if (!current_user_can('edit_users')) { // edit_user(管理者)でなければ
    		add_filter('show_admin_bar','__return_false'); // アドミンバーを表示しない
    	}
    }
    add_action( 'admin_menu','remove_admin_bar' );

    edit_usersの部分を変えれば表示したい権限を変えることができます。権限の種類は以下で確認してください。

    公式codex:ユーザーの種類と権限

    トピック投稿者 urashin

    (@urashin)

    mebius0さん

    ご返信ありがとうございます。
    遅くなってしまいまして、申し訳ありません。

    mebius0さんが教えてくださいましたコードを貼り付けてみましたが、
    どの権限でも変わらず管理画面の左側の項目が消えませんでした。

    これは、どのようにするのがよいのでしょうか?

    モデレーター gatespace

    (@gatespace)

    横からスイマセン。
    WordPressにおいて「管理バー(アドミンバー)」を呼ばれる物は、
    一般的にログインしているとページ上部に出てくるあの黒いバーのことを指します。
    (ですので、回答者もそのつもりで回答します)

    文脈から判断すると、管理バーではなく、ダッシュボード左側のメニューを調整したい、ということでしょうか?

    トピック投稿者 urashin

    (@urashin)

    gatespaceさん

    私は、ダッシュボード左側のメニューを、
    管理者権限以外の人は表示しないようにしたい、
    という意味です。

    誤解を招く文章で、申し訳ありませんでした。

    もし、わかる方がいらっしゃいましたら、よろしくお願いします。

    モデレーター gatespace

    (@gatespace)

    簡単に行うなら「Adminimize」というプラグインでできます。

    ただし、単純にメニューを非表示にするだけなので、URLが分かっている場合などはアクセスできてしまいますので、ご注意ください。

    失礼しました。

    ダッシュボード左のメニューでしたか。

    それでしたら、これでできるのではないかと思います。

    function admin_css_custom() {
    	if (!current_user_can('edit_users')) {
    		echo '<style>#adminmenuback {display: none;}</style>';
    		echo '<style>#adminmenuwrap {display: none;}</style>';
    	}
    }
    add_action('admin_print_styles', 'admin_css_custom');

    これだと全部消えてしまうので、個々のメニューを消したい場合は別の関数が必要になります。

    トピック投稿者 urashin

    (@urashin)

    gatespaceさん
    mebius0さん

    ありがとうございました。
    今回は完全に必要ないということにしたかったので、
    mebius0さんの方法を採用させていただきました。

    お二方ともお世話になりました。

    私のやりたいことはできるようになりましたので、
    解決済みとさせていただきます。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「管理画面の管理バーを権限によって非表示にしたい」には新たに返信することはできません。