我今天创建了一个简单的 wordpress 插件,它本质上是一个选项页面。它基于此链接上的说明: http: //codex.wordpress.org/Creating_Options_Pages(该页面底部有示例代码,我将其用作插件的主干)。
基本上,我希望作者/贡献者能够在他们的管理菜单中看到一个新选项卡,单击该选项卡时,会将用户带到他/她可以编写一些文本并点击“保存更改”的页面(然后保存该文本到数据库)。我希望以后能够通过 get_option('some_option') 之类的方式调用此文本。
但是,作者/贡献者不能“管理选项”,这阻止了他们编辑我创建的新菜单选项卡上的选项。我安装了一个名为“用户角色编辑器”的插件,以允许作者/贡献者管理选项,但这会在他们的管理菜单中带来“设置”选项卡,并允许他们管理所有选项。
我怎样才能允许作者/贡献者只为我创建的插件管理选项而不是别的?我可以取消我创建的插件的权限限制吗?任何指导将不胜感激!(插件开发很顺利,但现在我被卡住了)。
我的代码与上面给出的链接中的示例非常相似:
<?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 } ?>