Когда вы добавляете текстовый виджет на боковую панель в 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?
<div class="textwidget">
и </div>