web-dev-qa-db-ja.com

動画のショートコード - すべての動画を自動再生する

動画のショートコードで追加された動画をすべて自動再生するにはどうすればよいですか。
自動再生属性を1に設定し、その他を0に設定すると、そのうちの1つだけを自動再生にすることができます。それ以外の場合、すべてが停止されます。

1
Domagoj

私は自分のビデオショートコードを使ってこれを行いました。その中で私はクラスを変更しました、それで私は$('.my-video-shortcode').mediaelementplayer( {pauseOtherPlayers: false} );でプレーヤーを始めることができます
それは私が必要としていることを行います:)

0
Domagoj

HTMLビデオをGIFのように動作させようとしているときにこの問題に遭遇しました。 WordPressの内蔵ビデオプレーヤーはHTMLビデオ要素を使用しますが、ビデオを同時に再生することはできません。

デフォルトのWordPressビデオプレーヤー(より標準的なビデオコンテンツに最も適している)を使用する代わりに、カスタムショートコードを介して手動で<video>要素を使用することにしました。最高の互換性( 特に携帯電話の場合 )のために、ビデオもミュートされていることを確認してください。

次のコードを追加した後は、単に使用してください。

[videogif mp4="http://path_to_file.mp4"]

そして、あなたは素晴らしいビデオを動かせるでしょう。スタイルを制御し、(基本的な)HTMLビデオコントロールを追加するには、次のようにします。

[videogif mp4="http://path_to_file.mp4" style='width: 80%' controls='1']

コード

functions.phpに追加してください:

// Video gif shortcode
function videogif($atts = [])
{
    // normalize attribute keys, lowercase
    $atts = array_change_key_case((array)$atts, CASE_LOWER);

    // override default attributes with user attributes
    $wporg_atts = shortcode_atts([
            'mp4' => $atts['mp4'],
            'style' => null,
            'controls' => False
        ], $atts);

    // build output
    $o = '';
    $o .= '<video autoplay loop muted playsinline ';
    if ($wporg_atts['controls']) $o .= 'controls ';
    $o .= 'class="videogif"';
    if (!is_null($wporg_atts['style'])) $o .= 'style="' . $wporg_atts['style'] . '" ';
    $o .= '><source src="' . $wporg_atts['mp4'] . '" type="video/mp4" />';
    $o .= '<p>Your browser does not support the video element.</p></video>';

    // return output
    return $o;
}
add_shortcode( 'videogif', 'videogif' );

また、デフォルトでビデオのサイズを変更して中央揃えにするために、次のCSSも使用しています。

/* Center videogif by default */
.videogif {
    width: 100%;
    display:block;
    margin: 0 auto;
}
1
Peter Moran

あなたはshortcode_atts_videoフィルタを使うことを試みることができます:

add_filter( 'shortcode_atts_video', 'overwrite_video_atts_wpse', 10,3 );

function overwrite_video_atts_wpse( $out, $pairs, $atts )
{
    // force the autoplay video shortcode attribute to ON:
    $out['autoplay'] = 1; 

    // force the autoplay video shortcode attribute to OFF:
    //$out['autoplay'] = 0; 

    return $out;
}

[video]shortcode 属性を上書きする。

0
birgire

この記事は古くなっていると思います

の代わりに

$out['autoplay'] = '1';

理にかなっている、それは実際にあるべきです

$out['autoplay'] = 'on';

add_filter( 'shortcode_atts_video', 'overwrite_video_atts_wpse', 10,3 );

function overwrite_video_atts_wpse( $out, $pairs, $atts )
{
    // force the autoplay video shortcode attribute to ON:
    $out['autoplay'] = 'on'; 

    // force the autoplay video shortcode attribute to OFF:
    //$out['autoplay'] = 0; 

    return $out;
}
0
tjhole