无法在Wordpress中获取特定的帖子附件

时间:2019-05-14 15:41:19

标签: php wordpress wordpress-theming

我正在尝试检索与帖子相关的所有图像。我能够返回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);

我希望看到该帖子的附件列表。我想从附件中抓取图像并将其打印到页面上。但是我一直在获取空数组。感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

Wordpress Codex说:

  

虽然默认的WP_Query post_status为“发布”,但附件具有   默认的post_status为“ inherit”。这意味着没有附件   返回,除非您也将post_status显式设置为'inherit'或   “任何”

因此,您应该尝试将'post_status' => 'inherit'添加到参数数组。

答案 1 :(得分:0)

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

  

get_attached_media(字符串$ type,int | WP_Post $ post)

     

检索附加到通过的帖子的媒体。

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