web-dev-qa-db-ja.com

テキストウィジェットから<div class = "textwidget">を削除する

Wordpressのサイドバーにテキストウィジェットを追加すると、ウィジェットにこのコードが含まれます。

<div class="textwidget">

コアを編集せずにこれを削除する方法

FYI - 私はこの行がここにあると思います:wp-includes/default-widgets.php(383行目)

2
Demilio

では、with 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;
    }
}
7
MrCarrot

Textwidgetクラスが適用された実際のdivを削除したいが、内容は削除しないのであれば、これはjQueryを使用した簡単な方法です。

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