我需要在用户注册(工作)后自动将产品添加到购物车,但要决定由用户元添加哪个产品(不起作用)。Woocommerce:按用户自动将产品添加到购物车meta
第一次行动是刚刚注册后添加一个产品,它完美地工作:
add_action('user_register', 'add_product_to_cart');
function add_product_to_cart() {
if (! is_admin()) {
$product_id = 115;
$found = false;
//check if product already in cart
if (sizeof(WC()->cart->get_cart()) > 0) {
foreach (WC()->cart->get_cart() as $cart_item_key => $values) {
$_product = $values['data'];
if ($_product->id == $product_id)
$found = true;
}
// if product not found, add it
if (! $found)
WC()->cart->add_to_cart($product_id);
} else {
// if no products in cart, add it
WC()->cart->add_to_cart($product_id);
}
}
}
现在我需要根据列出我所拥有的用户promoID我添加一个具体的产品,但它不”不要在购物车中添加任何东西。代码 例如:
add_action('user_register', 'add_product_to_cart');
function add_product_to_cart() {
if (! is_admin()) {
$group1iid1 = array("1", "2", "3", "4");
$group1iid2 = array("5", "6", "7", "8");
if (in_array("2", $group1iid1)) {
$product_id = 115;
WC()->cart->add_to_cart($product_id);
} elseif (in_array("0", $group1iid2)) {
$product_id = 219;
WC()->cart->add_to_cart($product_id);
} else {
$product_id = 231;
WC()->cart->add_to_cart($product_id);
}
}
}
如果我把代码模板文件,只是呼应的东西,而不是添加一个产品 - 它工作正常,但如果是这样的在function.php>什么也没有发生。
我缺少什么?
的“0”应该不会在在这个例子中的数组。 promoID将只出现在一组ID中。 – GuyG
+用户注册并自动登录后续字符。无论如何,他们实际上无法进入此页面。 我马上给你举个例子,并回报。谢谢! – GuyG