购物车和结帐页面上的WooCommerce产品缺货消息

时间:2020-05-18 21:09:59

标签: php wordpress woocommerce cart hook-woocommerce

我目前在functions.php中有此代码,以便在结帐页面上显示一条消息,说明客户已在其购物车中补购了商品:

add_action( 'woocommerce_review_order_before_payment', 'es_checkout_add_cart_notice' );
function es_checkout_add_cart_notice() {
    $message = "You have a backorder product in your cart.";

    if ( es_check_cart_has_backorder_product() )
        wc_add_notice( $message, 'error' );

}

function es_check_cart_has_backorder_product() {
    foreach( WC()->cart->get_cart() as $cart_item_key => $values ) {
        $cart_product =  wc_get_product( $values['data']->get_id() );

        if( $cart_product->is_on_backorder() )
            return true;
    }

    return false;
}

我要怎么做才能在CART页面上也显示相同的消息? (在结帐之前)。

谢谢。

1 个答案:

答案 0 :(得分:0)

注释1:我更改了代码,使其在两个页面上都使用1个钩子,而不是使用2个不同的钩子


注释2:注意notice_type

的使用

self.c.append(torch.randint(0,2,(1,))) wc_add_notice( __( $message, 'woocommerce' ), 'notice' );对面。

最终,这不是错误


注意3:(可选),您可以删除“ proceed_to_checkout”按钮(代码行已注释,此处似乎不适用)(请参阅注释2)

那你懂了

'error'