【问题标题】:Cant Get Specific Post Attachments in Wordpress无法在 Wordpress 中获取特定的帖子附件
【发布时间】:2019-05-14 15:41:18
【问题描述】:

我正在尝试检索与帖子关联的所有图像。我能够返回 ID 并打印 ID,但是当我尝试使用 get_posts() 的参数添加它时,它返回一个空数组。如果我不包含 post_parent,它会为我提供媒体库中的所有图像,而不是我正在循环播放的帖子的所有图像。我不是在正确的水平上循环吗?

我尝试手动添加 ID,但它仍然返回一个空数组。

$attachments = get_posts( array(
     'post_type'      => 'attachment',
     'posts_per_page' => 1,
     'post_parent'    => get_the_ID()
) );

var_dump($attachments);

我期待这篇文章的附件列表。我想从附件中抓取图像并将其打印到页面上。但我不断得到空数组。感谢您的帮助!

【问题讨论】:

    标签: php wordpress wordpress-theming


    【解决方案1】:

    Wordpress 法典说:

    虽然默认的 WP_Query post_status 是“发布”,但附件有 'inherit' 的默认 post_status。这意味着不会有附件 除非您还明确将 post_status 设置为 'inherit' 或 '任何'

    所以你应该尝试将'post_status' => 'inherit' 添加到你的参数数组中。

    【讨论】:

    • 仍然显示一个空数组。是否有可能我的循环设置不正确?
    【解决方案2】:

    只需使用wordpress核心功能get_attached_media()即可获取您帖子的附件。

    get_attached_media(string $type, int|WP_Post $post)

    检索附加到传递的帖子的媒体。

    只需将空字符串作为 $type 传递即可绕过 mimetype 过滤器。

    【讨论】:

    • 当我使用这个 [ 与 get_+the_ID() ] 它仍然返回一个空数组。我什至尝试对帖子 ID 进行硬编码,但仍然是一个空数组。
    • 只有在您没有将媒体正确附加到指定帖子的情况下才有可能。检查您的媒体库并阅读this support article,了解有关如何使用媒体库。
    猜你喜欢
    • 2015-08-31
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多