Comment configurer Wordpress pour pouvoir utiliser la balise <script> à l'intérieur des publications?


8

Je suis à la recherche d'une solution qui me permettrait d'écrire des balises à l'intérieur des messages et d'être sûr que l'éditeur visuel ou wordpress ne les modifierait pas.

Le même problème peut s'appliquer à d'autres codes HTML spécifiques que je souhaiterais peut-être utiliser.

La désactivation de l'éditeur visuel n'est pas une option, car en rendra la plupart des opérations d'édition trop difficiles à utiliser.

Réponses:


6

Ajoutez ce qui suit à votre thème 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');

3

J'ai essayé la réponse acceptée ci-dessus et cela n'a pas fonctionné pour moi sur WordPress 3.5.1

J'ai regardé à l'intérieur de wp-includes / kses.php et il m'a dit d'utiliser le filtre 'wp_kses_allowed_html'. Cela a fini par travailler pour moi. Vous pouvez remplacer les attributs de hauteur et de largeur par tout autre attribut de balise de script tel que le type, la langue, etc., selon la balise que vous essayez d'insérer.

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);
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.