获得附件,但只从帖子画廊?

时间:2018-07-18 作者:wpdev

我可以得到后附件图像这是确定的。但我只想从post的图库中获取附件?有可能吗?

这是我的代码:

global $post;
$id = $post->ID;
$post = get_post($post);
$images =& get_children( \'post_type=attachment&post_mime_type=image&output=ARRAY_N&orderby=menu_order&order=DESC&post_parent=\'.$post->post_parent);

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

如果您指的是[gallery] shortcode, 然后您可以使用get_post_gallery()get_post_galleries() 用于检索库数据的函数,例如ids (用逗号分隔的ID列表)和src (an)array 的图像URL)。

示例代码#1:(使用get_post_gallery())

1234 是包含[gallery] 短代码。

$galry = get_post_gallery( 1234, false );
$images = [];
if ( $galry && isset( $galry[\'ids\'] ) ) {
    $ids = wp_parse_id_list( $galry[\'ids\'] );
    $images = get_posts( [
        \'post__in\'  => $ids,
        \'post_type\' => \'attachment\',
    ] );
    echo \'Number of images in gallery #1:<br>\';
    echo count( $images ) . \'<br>\';
}
示例代码#2:(使用get_post_galleries())1234 是包含[gallery] 短代码s.

$galrys = get_post_galleries( 1234, false );
foreach ( $galrys as $i => $galry ) {
    $ids = wp_parse_id_list( $galry[\'ids\'] );
    $images = get_posts( [
        \'post__in\'  => $ids,
        \'post_type\' => \'attachment\',
    ] );
    echo \'Number of images in gallery #\' . ( $i + 1 ) . \':<br>\';
    echo count( $images ) . \'<br>\';
}
因此:

使用get_post_galleries() 检索所有数据[gallery] 帖子内容中的短代码。

使用get_post_gallery() 检索第一个的数据[gallery] 帖子内容中的短代码。

结束

相关推荐

Replacing an Image gallery

我在常规的stackexchange网站上发布了这篇文章,但后来发现有一个特定于wordpress的网站,所以我将其重新发布在这里。我正在尝试在我创建的自定义帖子类型中创建一个库。我希望能够通过wordpress管理编辑器将图像/图库添加到帖子中,但之后会有一个功能,即拉取图像,将其包装在div中,并用新图像替换现有图库。我想这样做,因为我希望图像能够适合不同大小图像的网格。例如,图像1是全宽,图像2是半宽,图像3是四分之一,依此类推。我试过两种方法,一种是get_children()$featuredI