É possível remover o filtro do widget de texto 4.8?

4

O novo widget rich text que veio com a atualização 4.8 parece adicionar um filtro ao conteúdo do widget antes de produzir os dados (provavelmente the_content ).

Acabei de notar que, se eu usar um código de acesso no novo widget de texto, ele estragará tudo (por exemplo, substituirá a X letter por &#215; , que é a entidade HTML equivalente a × mark, adicione random <p> , etc.). O filtro é adicionado à tabela wp_options em widget_text , assim:

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

Agora, se eu substituir os valores 5 e 6 com isso:

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

O filtro não é mais aplicado. Se você já tiver um widget de texto adicionado antes de atualizar para o 4.8, não haverá um problema. Mas no momento em que você clica em Save no widget depois de atualizar para 4.8, o problema aparece.

Eu não quero desativar o filtro completamente, pois pode haver outros widgets de texto na página.

É possível detectar os códigos de acesso e desativar o filtro para eles?

    
por Jack Johansson 13.06.2017 / 10:02

1 resposta

2

Agora temos um novo filtro widget_text_content apresentado em 4.8 src , com os seguintes callbacks padrão:

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 são aplicadas se as configurações do filtro , para a instância do widget, estiverem definidas como 'content' .

Quando você remove manualmente as configurações de filtro da tabela wp_options , ela parece ser redefinida durante o método de atualização src .

Veja o bilhete do trac # 35243 para mais informações.

    
por birgire 13.06.2017 / 10:54