我使用this plugin作为起点来创建一个允许用户选择精选视频的自定义元框 . 元框工作得很好,现在我想弄清楚如何在帖子中显示视频 . 以下代码显示视频:
<video controls="controls" preload="auto" width="100%" height="100%">
<source src="<?php
// Retrieves the stored value from the database
$meta_value = get_post_meta( get_the_ID(), 'meta-image', true );
// Checks and displays the retrieved value
if( !empty( $meta_value ) ) {
echo $meta_value;
} ?>" type="video/mp4" />
</video>
那很棒 . 但我想写一个声明说“如果帖子有特色视频,则显示它,如果没有显示精选缩略图 . ”有人知道怎么做吗?
EDIT: 我越来越近了 . 以下代码几乎可以使用,但对于具有特色图像(不是视频)的帖子,它会显示一个空的视频播放器而不是特色图像 . 如何修改以下代码以使特色图像有效?
<?php
$slam_featured_video = get_post_meta( get_the_ID(), 'meta-image', true );
if (isset($meta_value)) {
echo '<video controls="controls" preload="auto" width="100%" height="100%">
<source src="'. $slam_featured_video. '" type="video/mp4" />
</video>';
} elseif (empty($meta_value)) {
echo the_post_thumbnail('full');
}
?>
2 回答
你几乎得到了它!
如果没有精选视频,您将获得一个空字符串(“”) . isset(“”)= true,所以你仍然会在精选视频块中结束 .
只是一个空字符串本身将评估为false,所以只需:
经过一些研究和实验,我找到了一个解决方案 . 以下代码适用于我 . 感谢@manishie让我走上正轨 .