Como configurar o Wordpress para poder usar a tag de script dentro de posts?

8

Estou à procura de uma solução que me permita escrever tags dentro de postagens e ter certeza de que o editor visual ou o wordpress não os alteram.

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

Desativar o editor visual não é uma opção, porque in irá tornar a operação de edição muito difícil de usar.

    
por sorin 30.10.2010 / 14:52

2 respostas

6

Adicione o seguinte ao seu tema 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');
    
por sorich87 30.10.2010 / 18:45
2

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

Eu olhei dentro do wp-includes / kses.php e ele disse para 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 tag de script, como tipo, idioma, etc., dependendo da tag 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);
    
por Anthony R. 16.07.2013 / 21:03