创建Metabox以上载多个图像,忽略特色图像

时间:2011-05-05 作者:Dwayne Charrington

我的问题与另一个问题基本相同here, 然而,我的问题仍然略有不同。我基本上有一个名为“Packages”的自定义帖子类型,每个包都可以有一个带有自己图像的幻灯片。

我知道图片是通过媒体上传器上传的(根据所选答案的相关问题),但是是否可能只获得一个附在帖子上的图片列表,而不是特色图片?

我的理解是,对另一个问题的回答将得到包括特色图片在内的所有图片,Wordpress是否在背景中以不同的方式对待特色图片,以便我可以排除它们?

2 个回复
最合适的回答,由SO网友:tollmanz 整理而成

一般来说,我会采用查询帖子附件的方法,但保留作为帖子缩略图的附件。WP提供了一种使用get_post_thumbnail_id (Codex Ref). 要修改另一篇文章中的代码,我将向$args 阻止查询缩略图附件的数组:

\'post__not_in\' => array(
    get_post_thumbnail_id($post->ID)
)
Thepost__not_in 参数将“指定不检索的帖子”(Codex Ref)

要将整个内容放在一起,代码如下所示:

$args = array(
    \'post_type\' => \'attachment\',
    \'numberposts\' => null,
    \'post_status\' => null,
    \'post_parent\' => $post->ID,
    \'post__not_in\' => array(
        get_post_thumbnail_id($post->ID)
    )
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters(\'the_title\', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}
为了进一步优化您的查询,我强烈建议您探索WP\\U查询类(Codex Ref). 它的威力只有在易用性上才能与之匹敌。

SO网友:Geert

您基本上可以使用that other question 然后通过查看帖子缩略图ID过滤掉特征图像。

foreach ($attachments as $attachment)
{
    // Skip the post thumbnail
    if ($attachment->id == get_post_thumbnail_id())
        continue;
}
法典:get_post_thumbnail_id()

结束