web-dev-qa-db-ja.com

プラグイン設定への編集者アクセス

このプラグイン設定ページには、編集者の役割を持つユーザーにアクセスを許可しようとしています。 https://wordpress.org/plugins/commenter-data/

Commenter.phpの31行目にあるこのプラグインのコードには、次の関数があります。

function cd_setting_page(){

   add_options_page( 'Commenter data Settings', 'Commenter data Settings', 'administrator', 'commenterdata-settings', array( $this, 'cd_renderer' ));
}

これは、管理者ユーザーロールが設定ページにアクセスすることだけを許可します。

ユーザーロールEditorを持つ私のユーザーがこのプラグイン設定にアクセスするために私のthemes functions.phpファイルでこの関数にフィルタを上書きまたは追加する方法があるかどうか疑問に思います。

どんな助けでも素晴らしいでしょう!

3
bryanlewis

私はコメンターデータプラグインの作者です。私はあなたの懸念に対処し、あなたが機能を設定することを可能にするバージョン2.1をリリースしました。見てください、あなたがさらに質問があるかどうか私に知らせてください。

2
Ankit

残念ながら、プラグインの作者はフィルタの余地を残しませんでした。しかし、私はあなたのために要求しました ここ

私は変更を提案しました:

/* Add option page */
function cd_setting_page(){

    add_options_page( 'Commenter data Settings', 'Commenter data Settings', 'administrator', 'commenterdata-settings', array( $this, 'cd_renderer' ));
}

/* Add option page */
        function cd_setting_page(){
$cap = apply_filters( 'commenter_data_settings_page_capability_filter', 'administrator' );
            add_options_page( 'Commenter data Settings', 'Commenter data Settings', $cap, 'commenterdata-settings', array( $this, 'cd_renderer' ));
        }

ですから、プラグインの作者が私が提案したとおりに作成すれば、テーマのfunctions.phpファイルでこれを使用できます。

    add_filter( 'commenter_data_settings_page_capability_filter','my_settings_page_filter' );

function my_settings_page_filter( $cap )
{
// allow Editor role the ability to access Commenter Data Settings Page
return 'edit_posts';
}
2
Douglas.Sesar