我遇到 add_menu_page()的问题。我的页面输出没有显示,应该是我收到错误:
警告:call_user_func_array()期望参数1有效 回调,第一个数组成员不是有效的类名或对象 /home/content/45/8909445/html/clients/ereading/wp-includes/plugin.php 在第470行
我知道 add_action()使用PHP的原生 call_user_func_array(),所以我猜这可能与它有关。下面是我创建菜单页面和页面输出功能的代码(目前我只想回复一些文字):
public static function register_wpidSwiper_menu_page() {
add_menu_page('iDangerous Swiper Slides', 'Homepage Slides', 'manage_options',
'wp_idangerous_swiper', array( $this, 'admin_page_output'),
plugins_url( 'wp-idangerous-swiper/img/swiper-icon.png' ));
}
public function admin_page_output() {
echo "Hello iDangerous Swiper";
}
我在我的类构造函数中调用它:
public function __construct() {
add_action( 'admin_menu', array( $this, 'register_wpidSwiper_menu_page' ) );
}
我的菜单项出现在侧边菜单中,带有我的自定义图标,但当我点击进入页面时,页面显示我上面提到的错误,而不是我在 admin_page_output()中回显的字符串方法。
任何人都知道这对我来说有什么问题吗?
谢谢! 艾萨克
答案 0 :(得分:1)
您无法在静态上下文中使用$this
。
public static function
在静态函数中,$this
不存在。尝试摆脱static
,我不是一个真正的wordpress人,但我的猜测是会解决它。