使用WordPress的add_menu_page函数时出现问题

时间:2014-07-16 23:19:19

标签: php wordpress

我遇到 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()中回显的字符串方法。

任何人都知道这对我来说有什么问题吗?

谢谢! 艾萨克

1 个答案:

答案 0 :(得分:1)

您无法在静态上下文中使用$this

public static function

在静态函数中,$this不存在。尝试摆脱static,我不是一个真正的wordpress人,但我的猜测是会解决它。