2013-10-11 5 views
0

У меня странное поведение, и я хотел бы знать ... почему. Я сделал плагин для виджета для WordPress, чтобы установить различные вещи (например, ширину, положение, цвет и т. Д.), И я пытаюсь использовать его во внешнем интерфейсе, но я придерживаюсь самой простой вещи.Этот метод не вызывается. Зачем?

У меня этот код, что он работает нормально:

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 (но я позволю ей вызвать внешнюю функцию), и он продолжает работать, он просто не играет хорошо, когда дело доходит до вызова автономного метода ,

Любые веские причины? Я что-то пропустил?

Спасибо!

+3

«widget_display_callback» → удалить пространство между к и одиночными кавычками – loQ

+0

О дорогой! Я чувствую себя таким смущенным! Спасибо. –

+1

без проблем мужчина. Мы все испытываем это иногда :) – loQ

ответ

3
'widget_display_callback ' 

→ удалить пространство между к и одинарные кавычки

Смежные вопросы