WooCommerce摄影项目:如何将产品主图文件名加入产品名称(订单页显示即可)
我之前处理过类似的WooCommerce Photography场景,给你两个可行的方案,你可以根据需求选择:
方案1:自动将图片文件名设置/追加到产品名称(永久修改)
这个方案会在WooCommerce Photography生成产品时,自动把主图的文件名(去掉扩展名)设置为产品名称,或者追加到现有名称后面。适合需要产品名称本身就包含文件名的场景。
把下面的代码添加到你的主题functions.php文件,或者自定义插件中:
add_action('woocommerce_new_product', 'set_product_title_from_image_filename', 10, 1); function set_product_title_from_image_filename($product_id) { // 获取产品对象 $product = wc_get_product($product_id); // 仅针对WooCommerce Photography生成的产品(确认产品类型,若不对可调整) if ($product->get_type() !== 'photography') return; // 获取产品主图ID $image_id = $product->get_image_id(); if (!$image_id) return; // 获取图片文件名(去除扩展名) $image_data = wp_get_attachment_metadata($image_id); $filename = pathinfo($image_data['file'], PATHINFO_FILENAME); // 这里可以选择替换原标题,或者追加文件名 // 替换原标题: $product->set_name($filename); // 追加到原标题后面(比如原标题是"风景照",变成"风景照 - IMG_1234"): // $product->set_name($product->get_name() . ' - ' . $filename); // 保存产品修改 $product->save(); }
注意事项:
- 先确认WooCommerce Photography生成的产品类型是否为
photography,如果不是,可以用var_dump($product->get_type())输出查看具体值,再修改判断条件。 - 修改主题文件前记得备份,或者用自定义插件存放代码,避免主题更新后代码丢失。
方案2:仅在订单详情页显示图片文件名(不修改产品本身)
如果不需要修改产品的实际名称,只需要在订单详情页(包括前台用户订单页和后台管理员订单页)展示文件名,用这个方案更合适。
代码如下,同样添加到functions.php或自定义插件:
add_filter('woocommerce_order_item_name', 'add_image_filename_to_order_item', 10, 2); function add_image_filename_to_order_item($item_name, $item) { $product = $item->get_product(); // 仅处理摄影类产品 if (!$product || $product->get_type() !== 'photography') return $item_name; $image_id = $product->get_image_id(); if (!$image_id) return $item_name; $image_data = wp_get_attachment_metadata($image_id); $filename = pathinfo($image_data['file'], PATHINFO_FILENAME); // 在商品名称下方添加文件名,用小字体显示 return $item_name . '<br><small>图片文件名: ' . $filename . '</small>'; }
这个代码会在订单里每个摄影产品的名称下面,额外显示一行小字体的文件名,不会改变产品在商店里的显示名称,完全满足你“只要能在订单详情页展示该信息即可”的核心需求。
额外提示:
- 如果你还需要在邮件通知里也显示文件名,可以额外添加
woocommerce_email_order_item_name过滤器,逻辑和上面的代码类似。 - 测试时可以上传一张新的照片生成产品,或者手动触发现有产品的更新(比如编辑后保存),验证效果。
内容的提问来源于stack exchange,提问作者vsapountzis
相关产品推荐
相关产品推荐

