我对php 7语法有问题。我安装了这个名为simple table manager的插件https://wordpress.org/plugins/simple-table-manager/
激活后我收到了这些警告
警告:在C:\\xampp\\htdocs\\wp2\\wp content\\plugins\\simple table manager\\controller中使用未定义的常量list\\u all-假定为“list\\u all”(这将在PHP的未来版本中引发错误)。php在线52
警告:使用未定义的常量add\\u new-假定为“add\\u new”(这将在PHP的未来版本中引发错误)。。。。
警告:使用未定义的常量设置-假定为“设置”(这将引发错误。。。。。
警告:使用未定义的常量edit-假定为“edit”(这将引发错误。。。。。
代码如下所示
class Controller {
....
public function add_menu() {
add_menu_page(\'Simple Table Manager - List\', \'Simple Table Manager\', \'manage_options\', $this->slug[\'list\'], array($this, list_all ));
add_submenu_page(null, \'Simple Table Manager - Add New\', \'Add New\', \'manage_options\', $this->slug[\'add\'], array($this, add_new));
add_submenu_page($this->slug[\'list\'], \'Simple Table Manager - Settings\', \'Settings\', \'manage_options\', $this->slug[\'settings\'], array($this, settings));
add_submenu_page(null, \'Simple Table Manager - Edit\', \'Edit\', \'manage_options\', $this->slug[\'edit\'], array($this, edit));
}
public function list_all() {....}
public function add_new() {...}
public function edit() {...}
public function settings() {...}
}
我有php 7,我假设插件开发人员使用的语法已经过时
因此,基本上,给出错误的4个变量实际上是类本身的其他函数(方法)。调用这些方法的正确方法是什么?我尝试了数组($this,$this->add\\u new),但没有成功
如果能帮上忙,我将不胜感激。
提前感谢
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
此代码中存在错误:
add_menu_page(\'Simple Table Manager - List\', \'Simple Table Manager\', \'manage_options\', $this->slug[\'list\'], array($this, list_all ));
零件
array($this, list_all )
是函数回调,但应该有作为字符串传递的函数名作为数组中的第二项。所以应该是:
array($this, \'list_all\' )
另外,早期版本的PHP也应该有问题。。。