Всем привет! Сайт на
wordpress с установленным
плагином advanced custom fields. Есть необходимость создать собственный виджет, в который включить некоторые поля из
advanced custom fields.
Виджет создаю таким образом, включаю в него произвольные поля (вывод картинки)
class CustomWidget extends WP_Widget {
function __construct() {
parent::__construct(
'custom_widget', // Base ID
__('CustomWidget', 'text_domain'), // Name
array( 'description' => __( 'Some CustomWidget', 'text_domain' ), )
);
} // widget actual processes
public function widget( $args, $instance ) {
echo "<p>custom widget appear</p>";
echo "<p>". the_field('widget_banner') . "</p>";
} // outputs the content of the widget
public function form( $instance ) {} // outputs the options form on admin
public function update( $new_instance, $old_instance ) {} // processes widget options to be saved
}
// register Foo_Widget widget
function register_foo_widget() {
register_widget( 'CustomWidget' );
}
add_action( 'widgets_init', 'register_foo_widget' );
строка
custom widget appear выводится, а вот произвольное поле
the_field('widget_banner') нет, хотя в админке оно есть, его заполняю и нажимаю сохранить и оно сохраняется
вот, что выводит в аргументах во фронтенде
array(10) { ["name"]=> string(14) "Виджеты" ["id"]=> string(9) "sidebar-1" ["description"]=> string(36) "Добавьте сюда блоки" ["class"]=> string(0) "" ["before_widget"]=> string(64) "
" ["after_widget"]=> string(8) "
" ["before_title"]=> string(4) "
" ["after_title"]=> string(5) "
" ["widget_id"]=> string(15) "custom_widget-2" ["widget_name"]=> string(12) "CustomWidget" }