You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从WordPress文章画廊中获取原始尺寸图片?

问题原因

get_post_gallery() 默认返回的是站点媒体设置中定义的缩略图资源(默认规格为150×150px),直接读取返回数组中的src字段拿到的自然都是小尺寸缩略图,和画廊功能本身的逻辑无关。

修改方案

不要直接使用$gallery['src']里的缩略图地址,先提取画廊关联的所有图片附件ID,再通过ID拉取原图尺寸的资源地址即可,修改后的完整代码如下:

<?php
/* The loop */
while ( have_posts() ) : the_post();
    if ( $gallery = get_post_gallery( get_the_ID(), false ) ) :
        // 拆分拿到画廊所有图片的附件ID数组
        $attachment_ids = explode( ',', $gallery['ids'] );
        foreach ( $attachment_ids as $att_id ) {
            // 第二个参数传'full'即可获取原图尺寸的图片信息
            $image_info = wp_get_attachment_image_src( absint( $att_id ), 'full' );
            if ( ! empty( $image_info[0] ) ) {
                $src = $image_info[0];
                ?>                
                <img src="<?php echo esc_url($src); ?>" class="w-100" alt="Gallery image" />
                <?php
            }
        }
    endif;
endwhile;
?>
补充说明
  • wp_get_attachment_image_src()的第二个参数为图片尺寸标识:传'full'固定获取原图,也可传入'large'/'medium'获取媒体设置中预设的大/中尺寸图,或是主题自定义注册的其他尺寸名
  • 代码中加入了absint()做ID格式校验、esc_url()做输出地址安全过滤,避免异常内容输出
  • 如果需要读取图片插入画廊时手动选择的尺寸,可将第二个参数设为false,但要稳定获取原图固定传'full'即可

内容的提问来源于stack exchange,提问作者Suffii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 17:54:29