У меня странное поведение, и я хотел бы знать ... почему. Я сделал плагин для виджета для 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
(но я позволю ей вызвать внешнюю функцию), и он продолжает работать, он просто не играет хорошо, когда дело доходит до вызова автономного метода ,
Любые веские причины? Я что-то пропустил?
Спасибо!
«widget_display_callback» → удалить пространство между к и одиночными кавычками – loQ
О дорогой! Я чувствую себя таким смущенным! Спасибо. –
без проблем мужчина. Мы все испытываем это иногда :) – loQ