我需要从帖子中获取附件视频(通过YouTube上的url), 并在同一页面中动态显示它。事实是我有2种single.php类型, 其中一种显示带缩略图的帖子
第二个需要显示视频而不是图像。
为了获得图像, 我使用此代码
<?php the_post_thumbnail('full'); ?>
我知道, 那不是附件, 那就是缩略图。但是我可以从帖子中获取附件视频并像图像一样显示吗?
例如我有这样的帖子
我收到这样的帖子页面
我可以使用任何短代码在上面显示相同的视频吗?
#1
如前所述, 你不想使用插件, 那么可以使用custom_field实现它。
因此, 首先添加一个custom_field并将其命名为你想要的名称(我使用过utube_video_url)。
添加字段后, 下一步是输入相应的Youtube URL。
从后端就是这样。现在是时候进行编码了。
<?php
global $post, $wp_embed;
$youtube_video_url = get_post_meta($post->ID, 'utube_video_url', true); //store youtube URL in variable
if(!empty($youtube_video_url)): //Check Youtube URL is entered or not
echo $wp_embed->run_shortcode(''.$youtube_video_url.'');
else:
the_post_thumbnail();
endif;
?>
我们已将Youtube URL存储在一个变量中, 然后检查用户是否输入了YouTube URL。
如果是, 则它将输出youtube URL, 否则将打印功能图像。
简码参考:Do_Shortcode不适用于Embed
如果你有任何疑问, 请告诉我。
#2
<?php
// add this in your theme functions.php
function video_yt_shortcode( $atts ){
?>
// for thumbnail
<img src="http://img.youtube.com/vi/<?php echo $atts['video_id']; ?>/0.jpg">
//for video
<iframe width="745" height="400" src="http://www.youtube.com/embed/<?php echo $atts['video_id']; ?>?autoplay=1" frameborder="0" allowfullscreen></iframe>';
<?php
}
add_shortcode( 'yt_video', 'video_yt_shortcode' );
?>
使用简码[yt_video video_id =” ytvideo_id”]
像这样[yt_video video_id =” 8KxIHVGch8I”]
评论前必须登录!
注册