it-swarm.com.de

Ist es möglich, den Filter aus dem 4.8 Text Widget zu entfernen?

Das neue Rich-Text-Widget, das mit dem 4.8-Update geliefert wurde, scheint dem Inhalt des Widgets einen Filter hinzuzufügen, bevor die Daten ausgegeben werden (wahrscheinlich the_content).

Ich habe gerade bemerkt, dass wenn ich einen Shortcode in dem neuen Text-Widget verwerfe (zum Beispiel wird der Buchstabe X durch &#215; ersetzt, der der HTML-Entität entspricht, die für × markiert ist, zufälligen <p> hinzufügt usw.). . Der Filter wird der wp_options-Tabelle unter widget_text wie folgt hinzugefügt:

a:2:{
    i:2;
    a:3:{
        s:5:"title";
        s:6:"Sample";
        s:4:"text";
        s:14:"[shortcode-here]";
        s:6:"filter";
        s:7:"content";
    }
    s:12:"_multiwidget";
    i:1;
}

Wenn ich nun den 5. und 6. Wert durch diesen ersetze:

    s:1:" ";
    s:1:" ";

Der Filter wird nicht mehr angewendet. Wenn Sie vor dem Update auf 4.8 bereits ein Text-Widget hinzugefügt haben, gibt es kein Problem. In dem Moment, in dem Sie auf Save im Widget klicken, nachdem Sie auf 4.8 aktualisiert haben, wird das Problem angezeigt.

Ich möchte den Filter nicht vollständig deaktivieren, da möglicherweise andere Text-Widgets auf der Seite vorhanden sind.

Ist es möglich, die Shortcodes zu erkennen und den Filter für sie auszuschalten?

4
Jack Johansson

Wir haben jetzt einen neuen Filter widget_text_content in 4.8 eingeführt srcmit den folgenden Standardrückrufen:

add_filter( 'widget_text_content', 'capital_P_dangit', 11 );
add_filter( 'widget_text_content', 'wptexturize'          );
add_filter( 'widget_text_content', 'convert_smilies',  20 );
add_filter( 'widget_text_content', 'wpautop'              );

die angewendet werden, wenn die Einstellungen filter für die Widget-Instanz auf 'content' festgelegt sind.

Wenn Sie die Filtereinstellungen manuell aus der Tabelle wp_options entfernen, wird sie anscheinend während der Aktualisierungsmethode zurückgesetzt src.

Siehe Trac Ticket # 35243 für weitere Informationen.

2
birgire