插件:自定义菜单项问题

时间:2011-08-03 作者:thom

我使用以下代码段添加菜单项:

<?php
add_menu_page(
    \'Foo Server\',
    \'Foo Server\',
    \'manage_options\',
    \'foo-server\',
    array(\'Class\', \'method\')
);
?>
很好,它已经显示出来了。但点击它会返回:

You do not have sufficient permissions to access this page.
我真的不知道该怎么办。

有什么想法吗?谢谢

更新:问题已修复。我使用错误的挂钩注册菜单:

add_action(\'admin_init\', \'function that runs the above code!\');
必须是:

add_action(\'admin_menu\', \'function that runs the above code!\');
谢谢。

3 个回复
SO网友:fuxia

钩入\'admin_menu\' 注册菜单页。下次呢prepare your question 较好的

SO网友:Jeremy Jared

WordPress数据库表是否使用wp\\uu作为前缀?我读过几篇文章,指出使用不同的前缀可能会导致权限错误。

Source:

http://wordpress.org/support/topic/you-do-not-have-sufficient-permissions-to-access-this-page-45

http://beconfused.com/2007/how-to-solve-you-do-not-have-sufficient-permissions-to-access-this-page-in-wordpress/

SO网友:kaiser

如果从Php类内部调用此函数,则使用了错误的语法:

add_menu_page(
    \'LiveHelp Server\',
    \'LiveHelp Server\',
    \'manage_options\',
    \'livehelp-server\',
    // Call the  the method/function from inside a class
    array( __CLASS__, \'method_name\' )
    // Another way to call the method/function from inside a class
    array( &$this, \'method_name\' )
    // Another way to call the method/function from inside a class
    ClassName::method_name
);
确保您的方法/函数的名称正确method() (这是个坏主意)。否则就不行了。

我猜您只是从函数内部调用它,因此命名回调函数(没有类)就足够了。

注意:如果您需要进一步的帮助,请阅读php上的类和函数。网Q本身并不是真正的Wordpress Q

结束

相关推荐

函数deactive_plugins不存在

我正在function deactivate_plugins does not exist 调用此函数时出错function deactivateSelf(){ deactivate_plugins(RSD_PLUGIN, true); //gives error: function deactivate_plugins does not exist header(\"Location: plugins.php?deactivate=true\"); //redirect