사용자 등록 (작동) 후에 제품을 장바구니에 자동으로 추가해야하지만 사용자 메타에 추가 할 제품 (작동하지 않음)을 결정해야합니다.Woocommerce : 자동으로 사용자 메타에 의해 장바구니에 제품 추가
첫 번째 조치는 등록 후 제품을 추가하는 단지이며 그것은 완벽하게 작동 :
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이 같은 때> 아무 반응이 없습니다.
무엇이 누락 되었습니까?
1) 첫 번째 상태에서 당신이 코드는 새로운 내 등록 사용자를위한 것입니다한다고 가정으로도, is_user_logged_in()
조건을 추가해야합니다
"0"이 될 수 없습니다 가정 이 예제에서는 배열입니다. promoID는 하나의 ID 그룹에만 나타납니다. – GuyG
+ 사용자가 등록되고 자동 로그인 이후입니다. 그들은 실제로 어쨌든이 페이지에 갈 수 없습니다. 예제를 곧 제공하고 다시보고 드리겠습니다. 감사! – GuyG