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

如何在WooCommerce缺货预定按钮修改代码中排除预购商品?

解决方案

你只需要在原有判断条件中追加预购商品的排除判断即可。官方WooCommerce Pre-Orders插件会给启用预购功能的商品存储专属标识字段,我们可以通过读取该字段区分普通缺货预定商品和预购商品,避免误修改预购商品的按钮文本。

修改后完整代码

add_filter( 'woocommerce_product_single_add_to_cart_text', 'wc_ninja_change_backorder_button', 10, 2 );
function wc_ninja_change_backorder_button( $text, $product ){
    // 同时满足:商品处于缺货预定状态、且未启用预购功能,才修改按钮文本
    if ( $product->is_on_backorder( 1 ) && $product->get_meta( '_wc_pre_order_enabled' ) !== 'yes' ) {
        $text = __( 'Reserve', 'woocommerce' );
    }
    return $text;
}

补充说明

如果需要同时修改商品列表页的加入购物车按钮文本,可以追加一行过滤器挂载,逻辑和上述代码完全一致:

add_filter( 'woocommerce_product_add_to_cart_text', 'wc_ninja_change_backorder_button', 10, 2 );

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:54:00