Get uploaded video URL

时间:2020-11-12 作者:Adam

我目前已经在主页上设置了一个滚动横幅背景图像,效果很好。使用自定义字段插件指定的字段在页面设置中选择图像。请参见下面的自定义功能代码,然后使用echo dn_get_background_image( get_sub_field("header_background_image") );

// Used to print the responsive output for background images        
function dn_get_background_image ( $image_ID ) {
    
    global $global_bg_counter;

    $final_output = "";

    $final_output .= \'<div class="bg-image hidden-sm hidden-xs bg-image-\'.$global_bg_counter.\'" style="background-image:url(\\\'\' . wp_get_attachment_image_src( $image_ID, "full" )[0] . \'\\\');"></div>\';
    $final_output .= \'<div class="bg-image hidden-md hidden-lg bg-image-\'.$global_bg_counter.\'" style="background-image:url(\\\'\' . wp_get_attachment_image_src( $image_ID, "large" )[0] . \'\\\');"></div>\';

    $global_bg_counter++;
    
    return $final_output;
}
现在,我的问题是,我正试图复制这一点,但使用的是视频。到目前为止,我有以下设置。我通过在src中放置实际的完整视频路径来测试这一点,这是可行的。所以我有一种感觉,wp\\u get\\u attachment\\u链接没有正确指定,但我无法解决:/非常感谢您的帮助!

下面是回声功能"E;header\\u background\\u video“标题”;是自定义字段名。

echo dn_get_background_video( get_sub_field("header_background_video") );
功能代码如下:

// Used to display video
function dn_get_background_video ( $attachment_ID ) {

    $final_output = "";

    $final_output .= \'<video src="\\\'\' . wp_get_attachment_link( $attachment_ID )[0] . \'\\\'"></video>\';
    
    return $final_output;
}

1 个回复
SO网友:Sally CJ

获取URL 对于视频附件(如MP4文件),应使用wp_get_attachment_url() 而不是wp_get_attachment_link() 因为后者返回链接到附件页面或附件文件本身的锚定的HTML:

$video_url = wp_get_attachment_url( $attachment_ID );
// Sample output: https://example.com/wp-content/uploads/2020/11/video.mp4

$att_page = wp_get_attachment_link( $attachment_ID, \'full\', true );
// Sample output: <a href=\'https://example.com/video/\'>video</a>
因此,自定义字段header_background_video 应该返回一个附件ID,但您需要根据所使用的插件自己确定正确的字段类型。