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

问题描述 投票:0回答:1

我目前在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页面上显示相同的消息? (在结帐之前)。

提前感谢。

php wordpress woocommerce cart hook-woocommerce
1个回答
0
投票

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


注2:注意notice_type的使用>

notice_typewc_add_notice( __( $message, 'woocommerce' ), 'notice' );对面。

最终,这不是错误


注3:

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

然后您得到它

'error'
© www.soinside.com 2019 - 2024. All rights reserved.