修改WooCommerce结账页面代码,实现不同商品显示对应提示
修改后的WooCommerce结账提示代码
直接替换你现有的代码即可实现需求:当购物车包含指定商品时显示原提示,购物车为其他商品时显示新提示:
add_action( 'woocommerce_before_checkout_form', 'allclean_add_checkout_content', 10 ); function allclean_add_checkout_content() { // 设置需要单独购买的商品ID $product_ids = array( 97406 ); $has_special_product = false; foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { $item = $cart_item['data']; // 检查购物车中是否包含指定商品 if ( in_array( $item->id, $product_ids ) ) { $has_special_product = true; break; // 找到后直接跳出循环,提升效率 } } // 根据购物车内容显示对应提示 if ( $has_special_product ) { echo '<div class="checkoutdisc"><b>提示:</b>这里放特定商品的提示文本。</div>'; } else { echo '<div class="checkoutdisc"><b>提示:</b>这里放其他商品的提示文本。</div>'; } }
关键改动说明:
- 将原变量
$bool重命名为$has_special_product,提升代码可读性 - 新增
break语句,找到目标商品后立即终止循环,优化执行效率 - 添加
else分支,实现购物车无指定商品时显示对应提示 - 调整提示文本的中文表述,更贴合国内使用场景
你只需要把两个提示里的文本替换成你实际需要的内容即可。
内容的提问来源于stack exchange,提问作者user3417410
相关产品推荐
相关产品推荐

