今日、基本的にオプションページであるシンプルなワードプレスプラグインを作成しました。これは、次のリンクの指示に基づいています: http://codex.wordpress.org/Creating_Options_Pages (このページの下部に、プラグインのバックボーンとして使用したサンプル コードがあります)。
基本的に、作成者/寄稿者が管理メニューに新しいタブを表示できるようにしたいと考えています。これをクリックすると、ユーザーはテキストを書き込んで「変更を保存」を押すことができるページに移動します (その後、保存されます)。そのテキストをデータベースに)。後で get_option('some_option') のような方法でこのテキストを呼び出せるようにしたいと考えています。
ただし、作成者/寄稿者は「manage_options」を実行できないため、作成した新しいメニュー タブのオプションを編集できませんでした。著者/寄稿者が manage_options できるように「User Role Editor」というプラグインをインストールしましたが、これにより管理メニューに「設定」タブが表示され、すべてのオプションを管理できるようになります。
作成者/寄稿者が、私が作成したプラグインの manage_options のみを許可し、それ以外は許可しないようにするにはどうすればよいですか? 作成したプラグインの権限制限を解除できますか? 任意のガイダンスをいただければ幸いです。(プラグインの開発はスムーズに進みましたが、今は行き詰っています)。
私のコードは、上記のリンクにある例とほとんど同じです。
<?php
add_action('admin_menu', 'baw_create_menu');
function baw_create_menu() {
//create new top-level menu
add_menu_page('BAW Plugin Settings', 'BAW Settings', 'edit_posts', 'my-plugin', 'baw_settings_page');
//call register settings function
add_action( 'admin_init', 'register_mysettings' ); }
function register_mysettings() {
//register our settings
register_setting( 'baw-settings-group', 'new_option_name' );
register_setting( 'baw-settings-group', 'some_other_option' );
register_setting( 'baw-settings-group', 'option_etc' ); }
function baw_settings_page() { ?> <div class="wrap"> <h2>Plugin Name</h2>
<form method="post" action="options.php">
<?php settings_fields( 'baw-settings-group' ); ?>
<?php do_settings( 'baw-settings-group' ); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">New Option Name</th>
<td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td>
</tr>
<tr valign="top">
<th scope="row">Some Other Option</th>
<td><input type="text" name="some_other_option" value="<?php echo get_option('some_other_option'); ?>" /></td>
</tr>
<tr valign="top">
<th scope="row">Options, Etc.</th>
<td><input type="text" name="option_etc" value="<?php echo get_option('option_etc'); ?>" /></td>
</tr>
</table>
<?php submit_button(); ?>
</form> </div> <?php } ?>