¿Es posible eliminar el filtro de un widget de texto 4.8?

4

El nuevo widget de texto enriquecido que vino con la actualización 4.8 parece agregar un filtro al contenido del widget antes de generar los datos (probablemente the_content ).

Me acabo de dar cuenta de que si uso un shortcode en el nuevo widget de texto, se desordenará todo (por ejemplo, reemplazará la letra X con &#215; , que es la entidad HTML equivalente para × marcar, agregar al azar <p> , etc.). El filtro se agrega a la tabla wp_options debajo de widget_text , como esto:

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

Ahora si sustituyo los valores 5 y 6 con esto:

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

El filtro no se aplica más. Si ya tiene un widget de texto agregado antes de actualizar a 4.8, no habrá ningún problema. Pero en el momento en que hace clic en Save en el widget después de actualizar a 4.8, aparece el problema.

No quiero desactivar el filtro por completo, ya que podría haber otros widgets de texto en la página.

¿Es posible detectar los códigos cortos y desactivar el filtro para ellos?

    
pregunta Jack Johansson 13.06.2017 - 10:02

1 respuesta

2

Ahora tenemos un nuevo filtro widget_text_content introducido en 4.8 src , con las siguientes devoluciones de llamada predeterminadas:

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

que se aplican si la configuración de filtro , para la instancia del widget, se establece en 'content' .

Cuando elimina la configuración del filtro a mano de la tabla wp_options , parece que se restablece durante el método de actualización src .

Consulte el boleto de trac # 35243 para obtener más información.

    
respondido por el birgire 13.06.2017 - 10:54

Lea otras preguntas en las etiquetas