不调用此方法。为什么?

时间:2013-10-11 06:46:32

标签: php wordpress

我有一种奇怪的行为,我想知道......为什么。我为WordPress做了一个小部件插件,允许设置各种东西(如宽度,位置,颜色等),我试图在前端使用它,但我仍然坚持最基本的东西。 / p>

我有这个代码可以正常工作:

add_filter( 'widget_display_callback', 'capture_widget', 100, 3 );
function capture_widget( $instance, $widget_class, $args ) {
    $widget_class->widget( $args, $instance );
    echo $widget_class->widget_options['classname'];

    return false;
}

问题是我想把所有东西都变成一个班级。所以我这样做了:

class MyWidgets {
  function __construct() {
    add_filter( 'widget_display_callback  ', array( $this, 'widget_display' ), 100, 3 );
  }

  public function widget_display( $instance, $widget_class, $args ){
    $widget_class->widget( $args, $instance );
    echo $widget_class->widget_options['classname'];

    return false;
  } // widget_display
}

new MyWidgets();

而且......它停止了工作。一切都放在完全相同的文件中,但只有它的第一个版本。我没有任何错误,它只是没有做任何事情。我试图在add_filter( 'widget_display_callback', 'capture_widget', 100, 3 );方法中移动__construct部分(但是我让它来调用类外的函数)并且它继续工作,它只是不能很好地发挥作用当谈到一种自足的方法时。

有什么好的理由吗?我错过了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

'widget_display_callback '

→删除k和单引号之间的空格