Como configurar o Wordpress para poder usar a tag <script> dentro das postagens?

8

Estou procurando uma solução que me permita escrever tags dentro de posts e tenha certeza de que o editor visual ou o wordpress não os alterará.

O mesmo problema pode ser aplicado a outro código HTML específico que eu queira usar.

Desabilitar o editor visual não é uma opção, pois in tornará a maioria das operações de edição muito difíceis de usar.

sorin
fonte

Respostas:

6

Adicione o seguinte ao seu theme functions.php:

function fb_change_mce_options($initArray) {
    $ext = 'script[charset|defer|language|src|type]';

    if ( isset( $initArray['extended_valid_elements'] ) ) {
        $initArray['extended_valid_elements'] .= ',' . $ext;
    } else {
        $initArray['extended_valid_elements'] = $ext;
    }

    return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');
sorich87
fonte
3

Eu tentei a resposta aceita acima e ela não funcionou para mim no WordPress 3.5.1

Eu olhei dentro do wp-includes / kses.php e ele dizia usar o filtro 'wp_kses_allowed_html'. Isso acabou funcionando para mim. Você pode substituir os atributos de altura e largura por qualquer outro atributo de marca de script, como tipo, idioma, etc. dependendo da marca que você está tentando inserir.

function allow_script_tags( $allowedposttags ){
  $allowedposttags['script'] = array(
      'src' => true,
      'height' => true,
      'width' => true,
    );
  return $allowedposttags;
}

add_filter('wp_kses_allowed_html','allow_script_tags', 1);
Anthony R.
fonte