Intereting Posts
Сборка и плагин ajax не работают Как перечислить термины пользовательской таксономии, т.е. domain.com/brands/ Google Назначения в WordPress? Wpdb get-> выводит результаты из месяца с db Сделать связанные сообщения отображаются сначала в результатах поиска Сделать эскиз из загруженного изображения без плагина Домашняя страница получает текущий пункт меню, даже если он не является домашним Доступ к переменной из панели администратора? Изменение языка для каждого отдельного сайта в wordpress multisite Как добавить индикатор в мой .menu-элемент, если он содержит .sub-меню? пользовательский загрузчик в области администратора Как создать измененные версии изображений, добавленных с помощью wp_insert_attachment Как скрыть редактор, но сохранить доступ к медиабиблиотеке Правильный способ добавления редактора TinyMCE в обычную метатексту мета-поля? Пользовательские перезаписи URL для шаблонов

удалить <div class = "textwidget"> из текстового виджета

Когда вы добавляете текстовый виджет на боковую панель в WordPress, виджет включает этот код

<div class="textwidget"> 

Как удалить это без редактирования ядра?

FYI – Я думаю, что эта строка находится здесь: wp-includes / default-widgets.php (строка 383)

OK, попытка удаления с помощью jQuery является интуитивно понятной.

Изменение его с помощью буферизации вывода неэффективно.

И мы не должны редактировать сам код виджета, так как он вернется в следующий раз, когда мы обновим WordPress.

Я бы предложил создать собственный текстовый виджет или просто расширить и изменить существующий виджет WordPress следующим образом (поместите следующий код в файл functions.php):

 add_action( 'widgets_init', 'register_my_widgets' ); function register_my_widgets() { ... register_widget( 'My_Text_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; } ?> <?php echo !empty( $instance['filter'] ) ? wpautop( $text ) : $text; ?> <?php echo $after_widget; } } 

Если вы хотите удалить фактический div с использованием класса textwidget, но не его содержимого, это простой метод с использованием jQuery:

 $('.textwidget').replaceWith($('.textwidget').contents()); 

Согласно комментарию, в случае, вероятно, лучше просто удалить или заменить имя класса, используя jQuery, а затем функцию php, так как этот класс жестко запрограммирован.

Чтобы удалить его.

 jQuery('.textwidget').remove(); 

Чтобы установить css, скрыть его.

 jQuery('.textwidget').css('display', 'none'); 

Чтобы изменить имя класса

 jQuery('.textwidget').attr('class', 'newName'); 

Вы можете использовать буферизацию вывода (http://php.net/manual/es/book.outcontrol.php), чтобы получить всю созданную страницу в переменной и удалить оскорбление перед эхом.

Но для этого случая это слишком сложно. Вы можете просто скопировать весь код виджета и создать новый виджет (в плагине или вашем файле functions.php) без этого жестко закодированного div. Это действительно не так много кода.

Кроме того, любая причина удалить этот div, который не может быть разрешен в css?

  1. Редактировать файл: /wp-includes/widgets/class-wp-widget-text.php
  2. Найти, Удалить: <div class="textwidget"> и </div>
  3. Готово!