web-dev-qa-db-fra.com

Est-il possible de supprimer le filtre du widget texte 4.8?

Le nouveau widget de texte enrichi fourni avec la mise à jour 4.8 semble ajouter un filtre au contenu du widget avant la sortie des données (probablement the_content).

Je viens de remarquer que si j'utilise un shortcode dans le nouveau widget de texte, cela gâchera tout (par exemple, cela remplacera la lettre X par &#215;, qui est l'équivalent HTML de la marque ×, ajoutera un <p> aléatoire, etc.). . Le filtre est ajouté à la table wp_options sous widget_text, comme ceci:

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;
}

Maintenant, si je remplace les 5ème et 6ème valeurs par ceci:

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

Le filtre n'est plus appliqué. Si vous avez déjà ajouté un widget texte avant la mise à jour vers la version 4.8, il n'y aura pas de problème. Mais au moment où vous cliquez sur Save sur le widget après avoir mis à jour la version 4.8, le problème apparaît.

Je ne veux pas désactiver complètement le filtre, car il pourrait y avoir d'autres widgets de texte sur la page.

Est-il possible de détecter les codes abrégés et de désactiver le filtre?

4
Jack Johansson

Nous avons maintenant un nouveau filtre widget_text_content introduit dans 4.8 src, avec les rappels par défaut suivants:

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'              );

qui sont appliqués si les paramètres filter , pour l'instance de widget, sont définis sur 'content'.

Lorsque vous supprimez manuellement les paramètres de filtre de la table wp_options, il semble être réinitialisé lors de la méthode de mise à jour. src.

Voir le billet de train # 35243 pour plus d’informations.

2
birgire