WordPress виджеты активируются в теме widgets.php
файл.
Foo_Widget
пример в API виджетов WordPress показывает, что виджеты должны вызывать widget
функция, update
функция и form
функция, с widget
функция, содержащая код, который будет активирован при отображении виджетов.
Есть ли способ получить widget
функция вызывает функцию JavaScript, хранящуюся в отдельном файле js?
Вот что я пробовал с Foo_Widget
пример, связанный выше. «Фу!» alert работает нормально, но вместо отображения виджета все, что появляется в пространстве виджетов, это слово «undefined». Есть идеи, что я делаю не так? Спасибо!
Текст заголовка
<?php wp_enqueue_script( 'foo', get_template_directory_uri()."/js/foo.js" ); ?>
foo.js
function foo( $args, $instance ) {
alert("fooey!");
document.write($args['before_widget']);
if (!empty($instance['title'])) {
document.write($args['before_title'].apply_filters('widget_title', $instance['title']).$args['after_title']);
}
document.write("Hello world!");
document.write($args['after_widget']);
}
Обновленная функция виджета
public function widget( $args, $instance ) {
echo '<script type="text/javascript">foo(' . $args . ',' . $instance . ')' . ';</script>';
}
Задача ещё не решена.
Других решений пока нет …