从WordPress中的帖子获取所有图库图像/附件

时间:2013-09-17 08:34:41

标签: php wordpress post gallery attachment

我需要什么:

  1. 用户通过WordPress Media Uploader图库中上传图片,并在帖子中发布。我们说post_id = 1,帖子是: [gallery ids"1,2,3,...,n"]
  2. 我需要一个能够在此库中获取post_id = 1的所有图片ID的函数。
  3. 图片应该被喜欢'... / post-title / attachment / image-title'
  4. 我试过了:

    $attachements = query_posts(
        array(
            'post_type' => 'attachment',  
            'post_parent' => $post->ID,   
            'posts_per_page' => -1        
             )
    );
    
    var_dump($attachements);
    

    我的输出是:

    array(0) { }
    

    我太傻了吗?

3 个答案:

答案 0 :(得分:1)

get_post_galleries()可用于获取帖子中每个图库的相关信息。请确保在#include <algorithm> //... Text& operator=(const Text& src) { Text tmp(src); std::swap(tmp.handler, handler); std::swap(tmp.records, records); std::swap(tmp.file_name, file_name); return *this; } 之后传递this以仅返回数据。

从那时起,您可以遍历不同的图库并从false键中提取$post_id。这实际上是一个字符串,因此您需要explode()将其添加到您将array_merge()添加到ids的总列表中的数组中。

由于可能包含重复的ids,因此运行array_unique()将确保每个ids仅列出一次。

ids

答案 1 :(得分:0)

尝试以下代码

 $args = array( 
'post_type' => 'attachment', 
'numberposts' => -1, 
'post_status' => null, 
'post_parent' => $page->ID);

$attachments = get_posts( $args );
var_dump($attachements);

答案 2 :(得分:-1)