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

WordPress媒体库查看所有缩放图片及自定义图片后缀问题咨询

WordPress图片缩放图查看与自定义后缀设置指南

嘿,我来帮你搞定这两个WordPress图片相关的问题,都是实际使用中很常见的需求!

一、如何查看所有生成的缩放图?

有三种简单的方法可以查看WordPress为原图生成的所有缩放版本:

  • 媒体库后台直接查看
    进入WordPress后台的「媒体库」,找到目标图片并点击进入详情页。在「附件详情」区域的「文件」板块下方,会列出该图片所有可用尺寸的链接;或者切换到「编辑图片」页面,右侧边栏的「可用尺寸」区域也会显示每个尺寸的预览和对应链接,点击就能查看对应的缩放图。

  • 服务器文件管理器/FTP查看
    通过你的主机控制面板的文件管理器,或者用FTP工具连接服务器,找到wp-content/uploads文件夹,进入对应上传年份和月份的子文件夹。你会看到原图旁边带有尺寸后缀的文件(比如my-photo-300x200.jpg),这些就是自动生成的缩放图,直接点击或下载就能查看。

  • 自定义短代码批量展示
    如果需要在文章或页面里快速展示某张图片的所有缩放图链接,可以在主题的functions.php文件里添加这段代码:

    function list_image_sizes($atts) {
        $atts = shortcode_atts(array('id' => ''), $atts);
        if(!$atts['id']) return '请传入正确的图片ID';
        $sizes = wp_get_attachment_metadata($atts['id']);
        if(!isset($sizes['sizes'])) return '该图片没有生成缩放图';
        
        $output = '<h4>该图片的所有缩放版本:</h4><ul>';
        foreach($sizes['sizes'] as $size_name => $size_data) {
            $image_url = wp_get_attachment_image_src($atts['id'], $size_name)[0];
            $output .= '<li><a href="'.$image_url.'" target="_blank">'.$size_name.'('.$size_data['width'].'×'.$size_data['height'].')</a></li>';
        }
        $output .= '</ul>';
        return $output;
    }
    add_shortcode('list_image_sizes', 'list_image_sizes');
    

    保存后,在文章编辑器里插入短代码[list_image_sizes id="你的图片ID"](图片ID可以在媒体库详情页的URL里找到),就能自动列出所有缩放图的链接了。

二、如何设置_1、_2这类固定后缀而非尺寸命名?

要实现这个需求,需要通过代码修改WordPress生成缩略图时的文件名规则,具体步骤如下:

1. 先注册自定义图片尺寸(可选但推荐)

首先,你可以在「设置→媒体」里调整默认尺寸,或者用代码注册自己需要的自定义尺寸(更灵活)。在主题的functions.php里添加:

add_action('after_setup_theme', 'register_my_custom_image_sizes');
function register_my_custom_image_sizes() {
    // 注册自定义尺寸:名称、宽度、高度、是否裁剪(true为裁剪,false为缩放)
    add_image_size('small-size', 300, 200, true);
    add_image_size('medium-size', 600, 400, false);
    add_image_size('large-size', 1200, 800, true);
}

2. 替换缩略图的后缀为固定标识

接着添加这段代码,用来将每个尺寸对应的文件名后缀替换成你想要的_1、_2等:

add_filter('image_make_intermediate_size', 'custom_image_filename_suffix', 10, 5);
function custom_image_filename_suffix($file_path, $attachment_id, $size_name, $width, $height) {
    // 定义尺寸名称和对应后缀的映射关系
    $size_suffix_map = array(
        'small-size' => '_1',
        'medium-size' => '_2',
        'large-size' => '_3',
        // 如果要修改默认尺寸的后缀,也可以加在这里
        'thumbnail' => '_thumb',
        'medium' => '_mid',
        'large' => '_big'
    );

    // 如果当前尺寸在映射表里,就修改文件名
    if(isset($size_suffix_map[$size_name])) {
        $path_info = pathinfo($file_path);
        // 构建新的文件名:原文件名 + 自定义后缀 + 扩展名
        $new_file_path = $path_info['dirname'] . '/' . $path_info['filename'] . $size_suffix_map[$size_name] . '.' . $path_info['extension'];
        
        // 重命名服务器上的文件
        if(file_exists($file_path)) {
            rename($file_path, $new_file_path);
        }

        // 更新WordPress的附件元数据,确保系统能找到新文件
        $attachment_meta = wp_get_attachment_metadata($attachment_id);
        if(isset($attachment_meta['sizes'][$size_name])) {
            $attachment_meta['sizes'][$size_name]['file'] = $path_info['filename'] . $size_suffix_map[$size_name] . '.' . $path_info['extension'];
            wp_update_attachment_metadata($attachment_id, $attachment_meta);
        }

        return $new_file_path;
    }

    // 如果不在映射表里,返回原文件路径
    return $file_path;
}

注意事项

  • 这段代码只对新上传的图片生效,已经上传的图片需要用「Regenerate Thumbnails」插件重新生成缩略图,才能替换后缀。
  • 确保主题或插件调用图片时使用的是尺寸名称(比如wp_get_attachment_image($id, 'small-size')),而不是硬写文件名,这样才能正确获取到修改后缀后的图片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:47:47