2016-07-26 124 views
0

我很绝望,我试着寻找东西方的解决方案,但我似乎无法找到它。 问题是我试图在wordpress中制作一个插件来注册一些简单的设置。 下面的代码:option_page_capability_不能正常工作

add_action('admin_menu', 'test_plugin_setup_menu'); 

function test_plugin_setup_menu(){ 
    add_action('admin_enqueue_scripts', 'wp_enqueue_media'); 
    add_action('admin_init', 'register_my_cool_plugin_settings'); 
    add_menu_page('Menù della settimana', 'Menù della settimana', 'administrator', 'settimana', 'my_cool_plugin_settings_page'); 
} 

function register_my_cool_plugin_settings() { 
    register_setting('my-cool-plugin-settings-group', 'image_url'); 
    register_setting('my-cool-plugin-settings-group', 'date'); 
} 

function goddamit() { 
    return 'edit_posts'; 
} 

add_filter('option_page_capability_settimana', 'goddamit'); 

function my_cool_plugin_settings_page() { ?> 
    <div class="wrap"> 
     <h2>Menù della settimana</h2> 

     <form method="post" action="options.php"> 
      <?php settings_fields('my-cool-plugin-settings-group'); ?> 
      <?php do_settings_sections('my-cool-plugin-settings-group'); ?> 
      <table class="form-table"> 
       <tr valign="top"> 
        <div> 
         <label for="image_url">Carica pdf</label> 
         <input type="text" name="image_url" id="image_url" class="regular-text" value="<?php echo esc_attr(get_option('image_url')) ?>"> 
         <input type="button" name="upload-btn" id="upload-btn" class="button-secondary" value="Carica pdf"> 
        </div> 
       </tr> 

       <tr valign="top"> 
        <div> 
         <label for="date">Date (inserire 'dal x al y di mese')</label> 
         <input type="text" id="date" name="date" value="<?php echo esc_attr(get_option('date')); ?>" /> 
        <div> 
       </tr> 
      </table> 

      <p class="submit"> 
       <input name="Submit" type="submit" class="button-primary" value="<?php esc_attr_e('Save Changes'); ?>" /> 
      </p> 

     </form> 
    </div> 
<?php } ?> 

到目前为止好,如果用户是管理员不存在任何问题,如果用户你该死的错误“不忠”呃“的编辑器? 我在做什么错?

大家都在暗示函数option_page_capability_应该有页面的slu it,它确实不起作用。帮帮我。

回答

0

您还期望通过设置能力administratoradd_menu_page调用吗?

add_menu_page('Menù della settimana', 'Menù della settimana', 'administrator', 'settimana', 'my_cool_plugin_settings_page'); 

将其设为edit_posts

add_menu_page('Menù della settimana', 'Menù della settimana', 'edit_posts', 'settimana', 'my_cool_plugin_settings_page'); 

,并删除怪异的过滤器。

+0

不行,不起作用 – user3847141