web-dev-qa-db-ja.com

Wordpressで<video> html5タグを許可する方法

現在私はUnfiltered MUプラグインを使ってWordpress MUブログを運営しています。しかし、HTML5タグを挿入しようとすると、削除されます。私はそれがコードをきれいにするWYSIWYGエディタであるかもしれないと思います。許可する設定はどこで変更できますか?

ありがとう

1
jeph perro

ちょっとちょっと... WordPress 3.2には、HTML5タグを許可するTinyMCEのアップデートが含まれています。まだ開発中ですが、今実行するというリスクを冒したいのであれば、かなり安定しています。

代わりの方法は、ビジュアルエディタをオフにしてタグを必要とする投稿を書くことです。同じ投稿でエディタを再度オンにしない限り、タグはそこに残ります。 adminでその投稿から移動したら、エディタをオンにしてください。

1
Elpie

許可されていないタグを許可するにはこれを試してください... http://tierra-innovation.com/wordpress-cms/plugins/extend-kses/

1
noel saw

これは全くテストされていませんが、私がちょうどあなたのために書いたこのショートコードプラグインがうまくいくと確信しています。あなたはそれを微調整する必要があるかもしれません。どちらか教えてください。

ショートコード:[videotag option1="value1" option2="value2"]

例:[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');
?>

興味深い質問です。これは素晴らしいパッチになるでしょう、おそらく私が最初に提出するでしょう。

1
editor