将__FILE__用于Add_Menu_Page()函数时出错

时间:2013-08-17 作者:Mona Coder

我正在尝试创建自定义选项页,但在设置add menu page()函数时遇到错误。我需要使用FILE 作为函数的$menu\\u slug第四个参数

  add_menu_page(\'Item Display\',\'Item Display\',\'administrator\', \'__FILE__\', function(){  });
但我有一个错误:You do not have sufficient permissions to access this page.

enter image description here

1 个回复
SO网友:gmazzap

您的代码应该可以工作(不是您所期望的那样,而是应该可以工作),并且可能是您没有发布的错误。

然而

__FILE__ 是一个constant: 写作时不必使用引号。

按如下方式移除:

add_menu_page(\'Item Display\',\'Item Display\',\'administrator\', __FILE__, function(){  });
如果使用引号,\'__FILE__\' 成为一个字符串,因此在访问类似以下url时,应使用代码显示菜单页:

\'http://yoursite.com/wp-admin/admin.php?page=__FILE__\'
如果您像我上面所做的那样删除引号,您的页面将响应类似以下url的url:

\'http://yoursite.com/wp-admin/admin.php?page=/the/full/path/to/your/file.php\'
还请注意,当您将函数作为第5个参数传递给add_menu_page (就像您所做的一样)该函数用于呈现页面内容$menu_slug (4)参数。

如果要使用文件呈现页面内容,该文件必须位于WP plugin文件夹中,并且必须传递该文件相对于WP plugin文件夹的url。E、 G.:

add_menu_page(\'Item Display\',\'Item Display\',\'administrator\', \'myplugin/myplugin-admin.php\', \'\');
使用上面的代码,管理页面的内容由一个名为myplugin-admin.php 位于文件夹中myplugin 在WP plugin文件夹下。

结束

相关推荐