add_menu_page()无法处理wordpress中的插件


add_menu_page() not working on plugin in wordpress

基本上,我正在为我的WordPress网站制作一个小插件,我遇到了我能找到的最烦人的问题,我目前的结构是这样的/wp-content/plugins/videos/videos.php

PHP文件中的内容如下:

if(!class_exists('WP_GraceMedia_Videos')) {
    class WP_GraceMedia_Videos {
        public function __construct() {
            add_action('admin_menu', array(&$this, 'add_menu_page'));
        }
        public function add_menu_page() {
            $page_title = "GraceMedia Video Management";
            $menu_title = "GraceMedia Videos";
            $capability = "edit_options";
            $menu_slug = "videos/videos-admin.php";
            $function = "";
            $icon_url = plugins_url('videos/images/icon.png');
            $position = "6";
            add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position);
        }
        public static function deactivate() {
        }
        public static function activate() {
        }
    }
    register_activation_hook(__FILE__, array('WP_GraceMedia_Videos', 'activate'));
    register_activation_hook(__FILE__, array('WP_GraceMedia_Videos', 'deactivate'));
}

这一切对我来说似乎都是正确的格式,它实际上是激活插件并让我取消激活它,只是没有将项目添加到WP管理菜单

根据WP Codex,您在add_menu_page代码中拥有的功能"edit_options"不存在。尝试将其更改为类似"edit_theme_options"的内容。

使用'manage_options'而不是'edit_options'。