it-swarm.com.de

<div class = "textwidget"> aus dem Text-Widget entfernen

Wenn Sie einer Seitenleiste in Wordpress ein Text-Widget hinzufügen, enthält das Widget diesen Code

<div class="textwidget">

Wie entferne ich das, ohne den Core zu bearbeiten?

Zu Ihrer Information - Ich denke, diese Zeile befindet sich hier: wp-includes/default-widgets.php (Zeile 383)

2
Demilio

OK, der Versuch, das mit jQuery zu entfernen, ist nicht intuitiv.

Das Ändern über die Ausgabepufferung ist ineffizient.

Und wir sollten den eigentlichen Widget-Code nicht selbst bearbeiten, da dieser beim nächsten Update von WordPress zurückgesetzt wird.

Ich würde vorschlagen, entweder ein eigenes Text-Widget zu erstellen oder einfach das vorhandene WordPress-Widget wie folgt zu erweitern und zu ändern (fügen Sie den folgenden Code in Ihre functions.php-Datei ein):

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

Wenn Sie das aktuelle div mit der darauf angewendeten textwidget-Klasse entfernen möchten, aber nicht dessen Inhalt, ist dies eine einfache Methode, die jQuery verwendet:

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