【问题标题】:Get post_meta image url based on ID根据ID获取post_meta图片url
【发布时间】:2020-02-11 17:45:04
【问题描述】:

所以我想从我的 post_meta 之一的数据库中提取图像 url,但我不确定如何定位它。

这是我正在采取的步骤:

这是数据库中wp_postmeta 表下的内容:

如果我导航到wp_posts - 我会收到带有我的网址的meta_value 帖子:


当我执行$test = get_post_meta($post->ID, 'full_image'); 时,我得到以下信息:

如何根据$post->IDwp_posts中提取图片url?我很难瞄准它。


更新

如果我这样做 var_dump(get_attached_media('image', $post->ID)); - 我会得到以下结果:

如何获取guid 网址?

【问题讨论】:

  • 您是在寻找帖子中的 the_post_thumbnail 还是从您的库中提取文件?
  • @gael,从具有 ACF Image 字段的帖子中提取文件,但我无法使用 get_field,因为它位于 mu-plugins 目录中。

标签: php database wordpress


【解决方案1】:

要从您的数组中获取guid,您必须这样称呼它:

<?php    
    $image = get_attached_media('image', $post->ID);
    $image_guid = $image['guid'];
    echo $image_guid; //will echo the guid URL
?>

【讨论】:

  • 这给了我一个空返回 - 感谢您的帮助!
【解决方案2】:

用这个方法搞定了:

$this-&gt;set_full_image(wp_get_attachment_image_url( get_post_meta($post-&gt;ID, 'full_image', true), 'large'));

我没有得到任何结果的原因是因为get_post_meta 返回的是一个数组而不是单个值,所以我必须在最后设置 true。

【讨论】:

    【解决方案3】:

    如果我理解正确,那你就太难了。 您只需要使用wp_get_attachment_image_src

    $test = get_post_meta($post->ID, 'full_image', true);
    $image = wp_get_attachment_image_url( $test[0] );
    
    

    【讨论】:

    • 问题是我不需要有另一个图像的缩略图,这是使用 ACF 图像字段.. 我不能使用 get_field 调用,因为它在 mu-plugin .. 所以我觉得我最好的办法是尝试从帖子中提取图像。
    • 编辑以反映使用您的字段
    • 感谢@KGreene 的所有帮助,我最终不得不在 get_post_meta 末尾添加 true,然后使用 wp_get_attachment_image_url。
    猜你喜欢
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多