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
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.
Essayez ceci pour autoriser les tags non autorisés ... http://tierra-innovation.com/wordpress-cms/plugins/extend-kses/
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.