サポート » プラグイン » FAQmanagerで管理者以外はコントロールが出来ないようにしたい

  • 複数人でのサイトの管理を検討しています。
    現在は、一人(私)だけ管理者で、その他のメンバーを投稿者とすることを考えています。

    FAQmanagerを導入してみると、
    投稿者権限の人も、内容の作成だけは出来ることがわかりました。

    希望としましては、管理者権限以外の人は、
    FAQmanagerに触れることが出来ない、というようにしたいです。

    そのためのコードがわからず、user role editorなどでも、
    どのように対応してよいかなど、プラグインでの対応の方法などもわからなかったため、
    質問させていただきました。

    なにかご存知でしたら、ご回答をお願いしたいです。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • http://wordpress.org/plugins/wp-admin-ui-customize/
    こっちの方が簡単かもしれません。

    トピック投稿者 rekoker

    (@rekoker)

    ご返信ありがとうございます。

    私の理解不足で申し訳ないですが、
    wp admin ui customizeでどのように制限をすれば
    よいのでしょうか?

    プラグインを使用してみても、わかりませんでした・・

    WP Admin UI Customizeの設定で
    ユーザー権限グループ 投稿者にチェック
    サイドメニュー FAQ managerを除外する

    これで投稿者はFAQ managerを触れないと思います。

    トピック投稿者 rekoker

    (@rekoker)

    すいません
    私の説明不足で申し訳なかったです。

    サイドメニューからも削除はしたいのですが、
    URLを入力すると、FAQの投稿画面にいってしまうので、
    URLを入力しても意味が無いようにするなど、
    そもそもの権限をなくしたいのですが、
    可能でしょうか?

    例えば管理画面メニューの FAQs -> FAQs のURLは wp-admin/edit.php?post_type=questionのようになっているので、以下のような感じでアクセスさせないようにできるのではないかと思います(未検証)。

    admin_headフックとかを用いてglobal $post_type;で判別するのも可能かもしれません。

    functions.php

    <?php
    add_action( 'admin_head-edit.php', 'hook_admin' );
    add_action( 'admin_head-edit-tags.php', 'hook_admin' );
    add_action( 'admin_head-post-new.php', 'hook_admin' );
    function hook_admin() {
    	if( isset( $_GET['post_type'] ) &&  $_GET['post_type'] == 'question' ) {
    		if ( !current_user_can( 'administrator' ) ) {
    			wp_die( 'アクセスできません' );
    		}
    	}
    }

    トピック投稿者 rekoker

    (@rekoker)

    Tsuyoshi.さん
    ご回答ありがとうございます。

    Tsuyoshi.さんのコードで無事出来ました。
    ただ、IE8では、上記のコードを貼りつけた後に、
    投稿画面で投稿してみたところ、
    投稿画面が崩れてしまいました。

    プラグインの停止やコードの削除など行いましたが、
    特に変化が見られませんでした。
    何か対策などありますでしょうか?

    IE8の環境がないもので、IE-Testerで見てみましたが投稿を行ってもこちらでは表示崩れが確認できませんでした。

    どのような表示崩れでしょうか?IEの開発者ツールなどで表示崩れしている箇所を確認してみると良いかも知れませんが、現在的確な答えは提示できそうにないです。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「FAQmanagerで管理者以外はコントロールが出来ないようにしたい」には新たに返信することはできません。