【问题标题】:add_menu_page() not working on plugin in wordpressadd_menu_page() 不适用于 wordpress 中的插件
【发布时间】:2013-07-14 16:23:29
【问题描述】:

基本上,我正在为我的 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 管理菜单

【问题讨论】:

标签: php wordpress oop


【解决方案1】:

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

【讨论】:

  • 谢谢,我在发布问题后注意到了这一点,并进行了相应的更改以找出问题所在
【解决方案2】:

使用“manage_options”而不是“edit_options”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-21
    • 2017-07-28
    • 2018-03-12
    • 2014-08-12
    • 2019-06-03
    • 1970-01-01
    • 2023-03-07
    • 2016-08-27
    相关资源
    最近更新 更多