有没有人知道在使用WooCommerce将项目插入购物车之前可以应用于插入功能的过滤器或挂钩?我和这篇文章有类似的问题:
Wordpress. Woocommerce. Action hook BEFORE adding to cart
但OP的评论似乎不起作用或模糊不清我无法让它们起作用,我找不到关于woocommerce_before_add_to_cart的文档。
我正在尝试做的只是显示一个错误,一旦我可以加入正确的操作,我将添加逻辑:
function checkProd(){
global $woocommerce;
$woocommerce->add_error( __('ERROR', 'woocommerce') );
return;
}
add_action( 'woocommerce_variable_add_to_cart', 'checkProd');
答案 0 :(得分:2)
我为woocommerce钩子找到的最好的资源实际上是存储库本身,它们具有非常好的注释代码,非常易读。
https://github.com/woothemes/woocommerce/blob/master/woocommerce-hooks.php
我确信您尝试在以下某个部分中解决的问题存在解决方案:
/**
* Product Add to cart
*
* @see woocommerce_template_single_add_to_cart()
* @see woocommerce_simple_add_to_cart()
* @see woocommerce_grouped_add_to_cart()
* @see woocommerce_variable_add_to_cart()
* @see woocommerce_external_add_to_cart()
*/
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
add_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
add_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
add_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
add_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
/**
* Cart Actions
*
* @see woocommerce_update_cart_action()
* @see woocommerce_add_to_cart_action()
* @see woocommerce_load_persistent_cart()
*/
add_action( 'init', 'woocommerce_update_cart_action' );
add_action( 'init', 'woocommerce_add_to_cart_action' );
add_action( 'wp_login', 'woocommerce_load_persistent_cart', 1, 2 );
如果您继续遇到上述操作钩子的问题,请随时向我提供更多详细信息,我可以尝试引导您完成。祝你好运!
答案 1 :(得分:0)
我需要在添加到购物车之前做一些操作,所以我这样做了
add_action('init', function(){
//if user clicked http://example.com/shop/?add-to-cart=42
if(!is_admin() && isset($_REQUEST['add-to-cart'])){
//do something
}
});
$ _ REQUEST用于处理GET和POST请求。