首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >"wp_get_attachment_url“在functions.php中不起作用

"wp_get_attachment_url“在functions.php中不起作用
EN

Stack Overflow用户
提问于 2018-08-17 03:52:09
回答 3查看 804关注 0票数 0

这在任何其他帖子中都可以很好地工作:

代码语言:javascript
复制
$vid_att = get_attached_media('video',$post_id); // Check if a video is attached
// print_r($vid_att);
if ($vid_att) {
$vid_att_url = wp_get_attachment_url($vid_att->ID);
echo $vid_att_url;
}

然而,

如果我在functions.php文件中使用它,它将返回完整的数组(print_r($vid_att);),但不会在请求时返回ID!

如果我手动插入附件ID,它可以工作:

代码语言:javascript
复制
$vid_att_url = wp_get_attachment_url('138');

那会是什么呢?我已经尝试将ID转换为Integer和其他东西,但无法让它工作。还给出了ne个错误。

它返回的数组如下所示:

代码语言:javascript
复制
Array ( [138] => WP_Post Object ( [ID] => 138 [post_author] => 1 [post_date] => 2018-08-14 16:21:42 [post_date_gmt] => 2018-08-14 16:21:42 [post_content] => [post_title] => SampleVideo_1280x720_1mb [post_excerpt] => [post_status] => inherit [comment_status] => open [ping_status] => closed [post_password] => [post_name] => samplevideo_1280x720_1mb [to_ping] => [pinged] => [post_modified] => 2018-08-14 16:21:42 [post_modified_gmt] => 2018-08-14 16:21:42 [post_content_filtered] => [post_parent] => 113 [guid] => http://flockstock/wp-content/uploads/edd/2018/08/SampleVideo_1280x720_1mb.mp4 [menu_order] => 0 [post_type] => attachment [post_mime_type] => video/mp4 [comment_count] => 0 [filter] => raw ) )
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-17 21:44:25

结论:

代码语言:javascript
复制
$vid_att = get_attached_media('video',$post_id); // Check if a video is attached

    if ($vid_att) {

            $vid_att_arr = array_values($vid_att);
            $vid_att_ID = $vid_att_arr[0]->ID;
            $vid_att_url = wp_get_attachment_url($vid_att_ID);
            // echo $vid_att_url;
        }else{
            echo 'No Video uploaded!';
        }
票数 0
EN

Stack Overflow用户

发布于 2018-08-17 07:52:08

尝试在此之前声明超级变量:

代码语言:javascript
复制
global $post;
echo $post->ID;
票数 0
EN

Stack Overflow用户

发布于 2018-08-17 16:35:39

感谢@wkille指出了这篇文章的答案:Get attachment URL

在使用数组之前,请对其重新编制索引:

代码语言:javascript
复制
$vid_att = array_values($vid_att);
echo 'GUID: ' . $vid_att[0]->guid;

注意:

代码语言:javascript
复制
wp_get_attachment_url($post_id->ID);

仍然不能在functions.php中工作,即使你重新索引数组,但它可以在posts中工作,有人知道这是为什么吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51884392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档