我是WP和其中编码的新手,如果这是一个愚蠢的问题,请原谅。
我想运行一个函数,当客户单击"添加到购物篮"按钮时,该函数将返回TRUE或FALSE值。
我的问题是
- 单击"添加到购物篮"时,我如何找到运行的函数是什么以及在哪里
- 当WooCom升级时,我如何确保我所做的工作不会被重写
Thanx
如果你是WordPress的新手,你可能不知道钩子。
WordPress挂钩是可以更改默认功能的功能。
因此,回答您的第二个问题——如何确保您的代码不会被重写——只需在主题函数.php文件中使用Action和Filter挂钩。通过这种方式,你可以更新wooccommerce插件,而不必担心你的自定义功能会被破坏。
Woocomerce使用add_to_cart()函数将产品添加到购物车中。这个函数已经有钩子,可以修改默认功能。有关此功能的更多信息-链接。正如您在呼叫挂钩部分看到的,有六个挂钩。我不知道在添加到购物车的过程中如何正确地返回true或false,因为如果出现问题,add_to_cart()函数会抛出异常错误。
但如果你尝试使用WordPress挂钩,在你的主题函数.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 );
你能提供更多信息说明你为什么要这么做吗?
根据您的情况使用'woommerce_ad_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 );