Удаление <div class="textwidget"> из текстового виджета
Хорошо, попытка удалить с помощью 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;
}
}

Как упомянуто в комментарии, в данном случае вероятно лучше просто удалить или заменить имя класса с помощью jQuery, а не использовать PHP-функцию, так как этот класс в любом случае жестко задан.
Чтобы удалить его:
jQuery('.textwidget').remove();
Чтобы скрыть через CSS:
jQuery('.textwidget').css('display', 'none');
Чтобы изменить имя класса:
jQuery('.textwidget').attr('class', 'newName');

You can use output buffering (http://php.net/manual/es/book.outcontrol.php) to get the whole generated page in a variable and remove the offending before echoing.
But it seems overly complicated for this case. You can just copy all the widget code and create a new widget (in a plugin or your functions.php) without that hardcoded div. It's really not that much code.
Also, any reason to remove that div that can not be solved in css?
```