2011-12-09 11 views
1

WordPressのインストールディレクトリに「ビデオ」というディレクトリがあります。mediaelement.js - ランダムな動画を再生しますか?

これらはすべてMediaElement.jsプラグインでうまく再生されますが、このディレクトリからランダムなクリップを再生することもできますか?たとえば、ディレクトリに誘導するショートコードを使用すると、

[video src="http://www.domain.com/wordpress/wp-content/video" random="true"] 

のようになります。

答えて

1

これは可能です。

あなたがしたいことは、AJAXを使用してビデオプレーヤーを含むdivを生成することです。これを行うと、プレイヤーを簡単に削除/再作成することができます。

その後、ショートコードハンドラに添付する関数にディレクトリ文字列値とブール値を供給するショートコード定義が必要です。

$ defaultDirectory = site_url() + "/動画/" 例えば

http://php.net/manual/en/function.readdir.php

<?php 
/** 
* get the number of files within a given dir 
*/ 
function fileCounter($dir){ 
    $counter = 0; 
    if ($handle = opendir($dir)) { 
     //echo "Directory handle: $handle\n"; 
     //echo "Files:\n"; 
     /* This is the correct way to loop over the directory. */ 
     while (false !== ($file = readdir($handle))) { 
      //echo "<BR>".$counter." - $file"; 
      $counter++; 
     } 
     closedir($handle); 
    } 
    $counter -= 1; // in order to exclude '.' and '..', as well as start the counter on 1 
    return $counter; 
} 
/** 
* get the filename in a giver dir, starting the first file with the index 1 
*/ 
function fileNameByIndex($dir, $fileIndex){ 
    $counter = 0; 
    if ($handle = opendir($dir)) { 
     while (false !== ($file = readdir($handle))) { 
      $counter++; 
      if($counter - 2 == $fileIndex) 
       return $file; 
     } 
     closedir($handle); 
    } 
    return ""; 
} 
}  
からも

add_shortcode('video', 'videoDiv'); 

function videoDiv($shortcodeAttributeList) 
{ 
    extract(shortcode_atts(array(
      'src' => $defaultDirectory, 
      'random' => true,    /*set default values, use lowercase*/ 
     ), $shortcodeAttributeList)); 

    if($random) 
    { 
     $numFiles=fileCounter($src); 
     $choice=rand(1, $numFiles); 
    } 

    $output='<div id="videoPlayer" class="player">'; 
    // Continue by making a string which spans from <div> to </div> 

    return $output; //a div 
} 

関連する問題