web-dev-qa-db-fra.com

Comment autoriser la balise <video> html5 dans Wordpress

Actuellement, je dirige un blog Wordpress MU à l'aide du plugin Uniltered MU. Cependant, lorsque j'essaie d'insérer une balise HTML5, elle est supprimée. Je crois que ce peut être l'éditeur WYSIWYG qui nettoie le code. Où puis-je modifier les paramètres pour autoriser?

Merci

1
jeph perro

Juste pour info ... WordPress 3.2 inclut un TinyMCE mis à jour qui permet les balises HTML5. Il est encore en développement mais reste assez stable si vous voulez prendre le risque de le lancer maintenant.

L'alternative consiste à écrire tout message nécessitant le tag avec l'éditeur visuel désactivé. Tant que vous n'activez pas l'éditeur à nouveau sur le même message, les balises y resteront. Il suffit d’activer l’éditeur une fois que vous avez quitté cette publication dans admin.

1
Elpie

Essayez ceci pour autoriser les tags non autorisés ... http://tierra-innovation.com/wordpress-cms/plugins/extend-kses/

1
noel saw

C'est totalement non testé, mais je suis à peu près sûr que ce plugin de shortcode que je viens d'écrire pour vous va fonctionner. Vous pourriez avoir besoin de le modifier. Faites-moi savoir de toute façon.

Code court: [videotag option1="value1" option2="value2"]

Exemple: [videotag src="http://path.com/to/video.mp4" height="400" width="300" controls="controls"]

<?php
/*
Plugin Name: Add 'videotag' shortcode
Plugin URI: http://wordpress.stackexchange.com/questions/12059/how-to-allow-video-html5-tag-in-wordpress
Description: Adds support for <video> HTML tag described here: http://diveintohtml5.org/video.html
Supports the attributes described here: http://www.w3schools.com/html5/tag_video.asp (warning: http://w3fools.com/)
Author: http://wordpress.stackexchange.com/users/1860/
*/

function build_video_tag_html_embed($atts, $content = null) {
    extract( shortcode_atts( array('audio'=>'',
                                 'autoplay'=>'',
                                 'controls'=>'',
                                 'height'=>'',
                                 'loop'=>'',
                                 'poster'=>'',
                                 'preload'=>'',
                                 'src'=>'',
                                 'text'=>'This browser doesn\'t support the <pre><video></pre> tag.',
                                 'width'=>''), $atts));

    /* Sanitize some stuff */
    $text = sanitize_text_field($text);
    $width = intval($width);
    $height = intval($height);

    $html_to_return .= "<video";
    if( !empty($audio) ) {
        $html_to_return .= " audio='" . esc_attr($audio) . "'";
    } 
    if( !empty($autoplay) ) {
        $html_to_return .= " autoplay='" . esc_attr($autoplay) . "'";
    }
    if( !empty($controls) ) {
        $html_to_return .= " controls='" . esc_attr($controls) . "'";
    }
    if( !empty($height) ) {
        $html_to_return .= " height='" . esc_attr($height) . "'";
    }
    if( !empty($loop) ) {
        $html_to_return .= " loop='" . esc_attr($loop) . "'";
    }
    if( !empty($poster) ) {
        $html_to_return .= " poster='" . esc_attr($poster) . "'";
    }
    if( !empty($preload) ) {
        $html_to_return .= " preload='" . esc_attr($preload) . "'";
    }
    if( !empty($src) ) {
        $html_to_return .= " src='" . esc_attr($src) . "'";
    }
    if( !empty($width) ) {
        $html_to_return .= " width='" . esc_attr($width) . "'";
    }
    $html_to_return .= ">{$text}</video>";
}

add_shortcode('videotag', 'build_video_tag_html_embed');
?>

Question interessante. Ce serait un excellent patch, peut-être le premier que je vais soumettre.

1
editor