Como desativar o TinyMCE de remover tags de extensão

10

Estou postando HTML gerado pelo Word no WordPress via XMLRPC. Antes de ir para post.php, o formato é preservado corretamente no banco de dados. O TinyMCE executa sua mágica e eu perco alguns detalhes de formatação.
O principal problema que estou vendo é que a <span>etiqueta com informações de estilo em torno de outros elementos é removida. Eu verifiquei que essas tags foram realmente removidas pelo TinyMCE e não pelo Kses. Existe uma maneira de impedir que o TinyMCE altere o HTML? eu tentei

add_filter('tiny_mce_before_init', 'tinymce_init');

function tinymce_init( $init ) {
    $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
$init['verify_html'] = false;
    return $init;
}

o que não ajudou. De acordo com a documentação do TinyMCE , "confirm_html"

Esta opção ativa ou desativa a funcionalidade de limpeza do elemento. Se você definir esta opção como false, toda a limpeza do elemento será ignorada, mas outras funcionalidades de limpeza, como a conversão de URL, ainda serão executadas.

ltfishie
fonte

Respostas:

6

Não consegui encontrar a extended_valid_elementsopção no painel de configurações do TinyMCE avançado, mas adicionei o seguinte à minha functions.phpsolução:

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

Fonte

Sim
fonte
4

Eu quase sempre uso o plug-in TinyMCE Advanced - há uma página de administrador (Configurações-> Configuração TinyMCE) que permite adicionar tags suportadas usando a extended_valid_elementsopção Basta adicionar spane quaisquer outras tags que você não deseja remover e aproveitar!

SickHippie
fonte
Obrigado, o TinyMCE Advanced faz exatamente a mesma coisa que o meu código acima para adicionar extended_valid_elements. Mas eu vou com o plugin. Talvez eu exista um bug em algum lugar do meu código.
23812 ltfishie
Instale e experimente - se funcionar, o problema é seu código. Caso contrário, outra coisa está substituindo-a no nível do plug-in ou do tema.
SickHippie
2
Eu não poderia encontrar um lugar na mais recente versão do TinyMCE Avançado para elementos add
Nicola Peluchetti
Isso não é surpreendente, já que este post tem 3 anos e meio de idade.
SickHippie