基于订单项产品类别修改WooCommerce感谢页提示信息
WooCommerce 仅含media类商品的订单显示自定义感谢页提示
要实现仅当订单包含product_cat为media的商品时显示特定提示,你需要在原代码基础上增加订单商品类别的判断逻辑,具体代码如下:
function customize_thankyou_page_notice( $message, $order ) { // 初始化标记,默认不显示自定义提示 $has_media_product = false; // 确保订单对象有效 if ( is_a( $order, 'WC_Order' ) ) { // 循环订单中的所有商品 foreach ( $order->get_items() as $item ) { $product = $item->get_product(); // 检查当前商品是否属于media类别 if ( has_term( 'media', 'product_cat', $product->get_id() ) ) { $has_media_product = true; break; // 找到一个符合条件的商品就停止循环 } } } // 如果存在media类商品,替换提示信息 if ( $has_media_product ) { $message = '你的自定义提示信息,比如:感谢购买媒体类商品,我们将尽快为您发货!'; } return $message; } add_filter( 'woocommerce_thankyou_order_received_text', 'customize_thankyou_page_notice', 10, 2 );
代码说明:
- 增加
$order参数:原钩子woocommerce_thankyou_order_received_text默认传递两个参数,我们需要第二个参数$order来获取订单详情 - 循环订单商品:遍历订单中的每个商品,通过
has_term函数检查商品是否属于media产品类别 - 条件替换提示:只有当订单中存在media类商品时,才替换原提示信息,否则保留默认内容
内容的提问来源于stack exchange,提问作者public9nf
相关产品推荐
相关产品推荐

