尝试在我的新Wordpress Youtube利基主题中做一些事情。我的主题中有一个标签供用户输入Youtube手表?v = xxxxxxxxxxx id。当他们输入xxxxxxxxxxx网址时,它会输出视频,通过“循环”查询显示每个标签16个帖子。
工作示例here
我已经调查了这个谷歌开发者控制台api的事情......这对我来说是完全的胡言乱语。我在我的网站上看到的4个类别使用自定义帖子类型。现在只有“喜剧”填充。
新编辑:这项工作。谢谢所有帮助我解决这个问题的人!
<?php
$new_query = new WP_Query();
$new_query->query( array('post_type' => array( 'comedy' ), 'orderby' => 'title', 'order' => 'asc','showposts' => 16, 'paged'=>$paged ));
while ($new_query->have_posts()) : $new_query->the_post();
$url = get_post_meta ($post->ID, 'comedy_url', $single = true);
include(TEMPLATEPATH . '/library/variables.php');
$code = 'http://www.youtube.com/watch?v=' . $url;
$json = file_get_contents('http://www.youtube.com/oembed?url='.urlencode($code));
$video = json_decode($json);
?>
<img src="<?php echo $video->thumbnail_url ?>" />
拉动缩略图时,您可能会注意到缩略图顶部和底部的黑色边框。要解决此问题,请使用以下代码:
<a href="<? if($code) {?><?php echo $code; ?><? } ?>">
<div class="yt-thumbnail" style="background:url('<?php echo $video->thumbnail_url ?>') center no-repeat;"></div>
</a>
// in your css file
.yt-thumbnail{
height: 164px;
width: 300px;
background-size: 300px 220px;
}
答案 0 :(得分:1)
您可以使用oEmbed API获取缩略图,上传者名称和标题。您所需要的只是对视频的URL进行编码,例如:
http://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9FOWI6Zftpg
这将返回JSON响应:
{
"provider_name":"YouTube",
"version":"1.0",
"author_url":"http:\/\/www.youtube.com\/user\/NScherzingerVEVO",
"type":"video",
"author_name":"NScherzingerVEVO",
"thumbnail_url":"http:\/\/i1.ytimg.com\/vi\/9FOWI6Zftpg\/hqdefault.jpg",
"provider_url":"http:\/\/www.youtube.com\/",
"title":"Nicole Scherzinger - Your Love",
"height":270,
"width":480,
"thumbnail_height":360,
"html":"\u003ciframe width=\"480\" height=\"270\" src=\"http:\/\/www.youtube.com\/embed\/9FOWI6Zftpg?feature=oembed\" frameborder=\"0\" allowfullscreen\u003e\u003c\/iframe\u003e",
"thumbnail_width":480
}
获取视图计数有点困难,有关详细信息,请参阅答案here。
修改强>
以下是如何在PHP中获取缩略图的示例:
<?php
$url = 'http://www.youtube.com/watch?v=9FOWI6Zftpg';
$json = file_get_contents('http://www.youtube.com/oembed?url='.urlencode($url));
$video = json_decode($json);
?>
<img src="<?php echo $video->thumbnail_url ?>" />