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

如何在WooCommerce后台商品列表添加自定义图片尺寸列并填充内容

如何在WooCommerce后台商品列表添加自定义图片尺寸列并填充内容

嘿,我来帮你搞定这个WooCommerce后台的图片尺寸列问题!你之前的代码已经完成了一半——成功添加了空的列,但缺了填充内容的关键部分,我把完整的可运行代码整理好了,还加了两种常用的尺寸显示方案,你可以按需选择:


完整实现代码

把这段代码放到你的主题(或子主题)的functions.php文件里,或者自定义插件的PHP文件中:

// 1. 给商品列表添加自定义"图片尺寸"列
function add_product_imagesize_column( $columns ) {
    // 如果你想把新列插到指定位置(比如"价格"列后面),用下面的循环
    $new_columns = array();
    foreach ( $columns as $key => $value ) {
        $new_columns[ $key ] = $value;
        // 遍历到"price"列时插入新列,可根据需求改成其他列的key,比如"title"
        if ( 'price' === $key ) {
            $new_columns['imagesize'] = '图片尺寸';
        }
    }
    return $new_columns;

    // 如果你不需要指定位置,直接追加到列表末尾,用下面这两行替代上面的循环:
    // $columns['imagesize'] = '图片尺寸';
    // return $columns;
}
add_filter( 'manage_edit-product_columns', 'add_product_imagesize_column' );

// 2. 填充"图片尺寸"列的内容
function populate_product_imagesize_column( $column, $post_id ) {
    // 只处理我们的自定义列
    if ( 'imagesize' !== $column ) {
        return;
    }

    // 获取当前商品的主图ID
    $product_featured_img_id = get_post_thumbnail_id( $post_id );

    // 如果商品没有设置主图,显示提示文字
    if ( ! $product_featured_img_id ) {
        echo '<em>无主图</em>';
        return;
    }

    // --- 方案1:显示图片的像素尺寸(宽x高)---
    $img_metadata = wp_get_attachment_metadata( $product_featured_img_id );
    if ( $img_metadata && isset( $img_metadata['width'], $img_metadata['height'] ) ) {
        echo $img_metadata['width'] . ' × ' . $img_metadata['height'] . ' px';
    }

    // --- 方案2:显示图片文件的大小(KB/MB)---
    // 如果你想显示文件大小而不是像素尺寸,注释掉上面的方案1,打开下面的代码
    // $img_file_path = get_attached_file( $product_featured_img_id );
    // if ( file_exists( $img_file_path ) ) {
    //     $file_size_bytes = filesize( $img_file_path );
    //     // 转换为易读的单位
    //     if ( $file_size_bytes >= 1048576 ) {
    //         echo round( $file_size_bytes / 1048576, 2 ) . ' MB';
    //     } else {
    //         echo round( $file_size_bytes / 1024, 2 ) . ' KB';
    //     }
    // }
}
add_action( 'manage_product_posts_custom_column', 'populate_product_imagesize_column', 10, 2 );

关键说明

  1. 列的位置控制:代码里默认把新列插到了“价格”列后面,如果你想换位置,只需要把'price' === $key里的price改成其他列的key就行,比如'title'(标题列后)、'sku'(SKU列后)。
  2. 两种显示方案:
    • 方案1是显示图片的像素尺寸(比如800 × 800 px),适合需要把控图片规格的场景;
    • 方案2是显示图片的文件大小(比如128.5 KB),适合关注存储空间的场景;
  3. 注意事项:别直接修改WooCommerce核心文件,用主题/子主题的functions.php或者自定义插件来加代码,这样主题或插件更新时不会丢失修改。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 13:35:28