这两个函数将从YouTube API获取有关视频的数据:
// function to parse the code from the URL
function parse_youtube_video_id_from_url( $video_url ) {
$splited_data = explode( \'=\', $video_url );
$video_unique_code = substr( $splited_data[1], 0, -strlen( strrchr( $splited_data[1], \'&\' ) ) );
return $video_unique_code;
}
// use the youtube APIs to get a json string containing data about the video
function get_youtube_json_video_data( $video_code ) {
$api_url = "https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q={$video_code}";
$data = wp_remote_get( $api_url );
return wp_remote_retrieve_body( $data );
}
您必须使用这些来获取时间数据
因此,对于您的示例,下面是如何获取数据:
$youtubecode = \'QiNIfGiNiOk\'; // replace with your youtube code or variable etc etc..
$video_data = get_youtube_json_video_data($youtubecode);
$video_data = json_decode( $video_data );
最后,要查看您得到的数据,让我们传递
video_data
进入
print_r
要在屏幕上显示一些调试输出,请执行以下操作:
// lets print out the data so we can see what we got:
printf( \'<pre>%s</pre>\', var_export( $video_data, true ) );
你应该看到
pre
包含PHP数据结构的标记,其中包含您可能想知道的关于YouTube视频的所有信息(假设视频存在)。
就这样,$video_data
应包含时间、描述、上载者、所有缩略图、评级等
然后,您将使用这些新发现的知识创建一个函数,将该函数挂接到\'save_post\'
和\'publish_post\'
操作,它基于上述代码更新post meta/custom字段
如何使用过滤器和操作,或者如何从自定义字段中获取或保存到自定义字段,超出了您的问题范围。