Woocommerce Return 消息错误

Woocommerce Return False with message

我正在使用一个功能来取消购买价格等于或大于 50,000 英镑的产品的功能。

我想在添加到购物车按钮通常所在的位置添加一条消息,说“该产品超过 50,000 英镑 - 请联系我们

add_filter( 'woocommerce_is_purchasable', 'disable_cart_for_over_fifty_k', 10, 2 );

function disable_cart_for_over_fifty_k( $purchasable, $product ) {
    if( $product->get_price() >= 50000 )
        return false;
}

您可以有一个 $message 变量,它对于 true 是空的并且包含一条消息(在 HTML 中)对于 false:

PHP

$message = "";
...
function disable_cart_for_over_fifty_k( $purchasable, $product ){
    global $message;
    if( $product->get_price() >= 50000 ) {
        $message = "<p class='errorMessage'>This product is over £50,000 - please contact us</p>";
        return false;
    }
}

HTML(示例

...
<?php echo $message; ?>
<button id="addCart">Add Cart</button>
...

如果您想一起隐藏 "Add Cart",您还可以使用标记并选择要 echo 的内容。

您可以在任何操作挂钩上显示消息。

add_action( 'woocommerce_single_product_summary', 'so_contact_notice_30876596', 25 );
function so_contact_notice_30876596(){
    global $product;
    if( $product->get_price() >= 50000 ){
        echo "this product is over £50,000 - please contact us";
    }
}