WordPress: как убрать обёртки виджетов
24 марта 2020. Рубрики: Шпаргалки; автор — Княгиня.
Вордпресс по умолчанию подставляет виджетам обёртки с классом. Часто эти обёртки бывают ненужными, а иногда просто мешают. Чтобы убрать обёртки у виджетов типа «Текст» и «Html-код», нужно добавить в файл function.php следующий код:
function my_register_sidebars(){ /*здесь может быть регистрация новых виджетов*/ register_widget('My_Text_Widget'); register_widget('My_HTML_Widget'); } class My_Text_Widget extends WP_Widget_Text{ function widget($args, $instance){ extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); $text = apply_filters('widget_text', empty($instance['text']) ? '' : $instance['text'], $instance); echo $before_widget; if (!empty($title)){ echo $before_title . $title . $after_title; } echo !empty($instance['filter']) ? wpautop($text) : $text; echo $after_widget; } } class My_HTML_Widget extends WP_Widget_Custom_HTML{ function widget($args, $instance){ extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); $text = apply_filters('widget_text', empty($instance['content']) ? '' : $instance['content'], $instance); echo $before_widget; if (!empty($title)){ echo $before_title . $title . $after_title; } echo !empty($instance['filter']) ? wpautop($text) : $text; echo $after_widget; } }