我是WP新手并在其中编码,所以请原谅我这是一个愚蠢的问题。
我想运行一个函数,当客户点击添加到购物篮按钮时,该函数将返回TRUE或FALSE值。
我的问题是
感谢名单
答案 0 :(得分:1)
如果您是WordPress的新手,您可能不了解钩子。
WordPress挂钩是可以更改默认功能的函数。
所以,回答你的第二个问题 - 如何确保你的代码不会被过度编写,只需在你的主题function.php文件中使用Action和Filter钩子即可。通过这种方式,您可以更新woocommerce插件,而无需担心您的自定义功能会消失。
Woocomerce使用add_to_cart()函数在购物车中添加产品。此函数已有钩子,允许您修改默认功能。有关此功能的更多信息 - link。正如您在Call hooks部分中看到的那样,有六个钩子。我不确定在添加到购物车过程中如何正确返回true或false,因为如果出现错误,add_to_cart()函数会抛出异常错误。
但是如果你尝试使用WordPress钩子,在你的主题function.php文件中,代码应该是这样的
// define the woocommerce_add_to_cart callback
function action_woocommerce_add_to_cart( $array, $int, $int ) {
// make action magic happen here...
};
// add the action
add_action( 'woocommerce_add_to_cart', 'action_woocommerce_add_to_cart', 10, 3 );
你能提供更多信息,为什么要这样做?
'woocommerce_add_to_cart'根据您的情况使用钩子。
// define the woocommerce_add_to_cart callback
function action_woocommerce_add_to_cart( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) {
$vendor = get_post_meta( $product_id, 'vendor', true );
if($vendor === 'something') {
return false; //you should return (throw new Exception)
}
};
// add the action
add_action( 'woocommerce_add_to_cart', 'action_woocommerce_add_to_cart', 10, 6 );