首页 文章

如何从Wordpress自定义元框显示视频?

提问于
浏览
2

我使用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 回答

  • 0

    你几乎得到了它!

    如果没有精选视频,您将获得一个空字符串(“”) . isset(“”)= true,所以你仍然会在精选视频块中结束 .

    只是一个空字符串本身将评估为false,所以只需:

    if ($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');
    }
    
  • 0

    经过一些研究和实验,我找到了一个解决方案 . 以下代码适用于我 . 感谢@manishie让我走上正轨 .

    <?php 
    
    $slam_featured_video = get_post_meta( get_the_ID(), 'meta-image', true );
    
    if (!empty($slam_featured_video))  {
        echo '<video controls="controls" preload="auto" width="100%" height="100%">
        <source src="'. $slam_featured_video. '" type="video/mp4" />
        </video>';
    } elseif (empty($slam_featured_video)) {
        echo the_post_thumbnail('full');
    }
    
    ?>
    

相关问题