Php Wordpress-添加菜单页面,[$this,';函数';]不是有效的类名或对象
我想理解为什么我不能在它自己的类中使用[$this,'function'] 这项工作: init.phpPhp Wordpress-添加菜单页面,[$this,';函数';]不是有效的类名或对象,php,wordpress,oop,Php,Wordpress,Oop,我想理解为什么我不能在它自己的类中使用[$this,'function'] 这项工作: init.php if ( is_admin() ) { require ( dirname ( __FILE__ ) . '/inc/admin/Admin.php' ); add_action('admin_menu', ['Mango\Admin', 'adminMenu'] ); } /inc/admin/admin.php-版本1(工作) 回答可能有点晚,但它可能也会帮助其他人 如
if ( is_admin() )
{
require ( dirname ( __FILE__ ) . '/inc/admin/Admin.php' );
add_action('admin_menu', ['Mango\Admin', 'adminMenu'] );
}
/inc/admin/admin.php-版本1(工作)
回答可能有点晚,但它可能也会帮助其他人
如果函数是插件中某个类的成员,则应该是
引用为数组($this'function_name')
感谢您有远见地发布了一个老问题的正确答案。你的答案已经6年多了,它仍然帮助了我!
<?php namespace Mango;
class Admin
{
public function adminMenu()
{
//this is the main item for the menu
add_menu_page(
'Mango Settings', //page title
'Mango Settings', //menu title
'manage_options', //capabilities
'mango-settings', //menu slug
[ 'Mango\Admin', 'settingsPage' ] // LOOK HERE *******
);
}
public function settingsPage()
{
echo 'This is a test';
}
}
<?php namespace Mango;
class Admin
{
public function adminMenu()
{
//this is the main item for the menu
add_menu_page(
'Mango Settings', //page title
'Mango Settings', //menu title
'manage_options', //capabilities
'mango-settings', //menu slug
[ $this, 'settingsPage' ] // LOOK HERE *******
);
}
public function settingsPage()
{
echo 'This is a test';
}
}
class Admin
{
public function adminMenu()
{
//this is the main item for the menu
add_menu_page(
'Mango Settings', //page title
'Mango Settings', //menu title
'manage_options', //capabilities
'mango-settings', //menu slug
array( $this, 'settingsPage' ) // LOOK HERE *******
);
}
public function settingsPage()
{
echo 'This is a test';
}
}