我目前在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:我更改了代码,使其在两个页面上都使用1个钩子,而不是使用2个不同的钩子
注2:注意
notice_type
的使用>
notice_type
wc_add_notice( __( $message, 'woocommerce' ), 'notice' );
对面。最终,这不是错误
(可选)您可以删除“ proceed_to_checkout”按钮(代码行在注释中,此处似乎不适用)(请参阅注2)注3:
然后您得到它
'error'