Перенаправление при покупке товаров из определенной категории товаров в Woocommerce
У меня есть этот код:
add_action('template_redirect', 'woo_custom_redirect');
function woo_custom_redirect( $redirect ) {
if (
! is_user_logged_in()
&& (is_checkout())
) {
wp_redirect( home_url( '/my-account/edit-account/' ) );
return $redirect;
}
}
Как я могу заменить условие перенаправления, когда я делаю заказ на покупку товара из определенной категории?
Например, если пользователь покупает товар из определенной категории, то при попытке разместить заказ он перенаправляется на регистрацию и обратно после успешной регистрации.
4
Author: LoicTheAztec, 2018-08-21
1 answers
Следующий код перенаправит на страницу моей учетной записи не зарегистрированного пользователя на странице оформления заказа, если у него есть товар из определенной категории товаров. Вам нужно будет указать в коде вашу конкретную категорию продукта:
add_action('template_redirect', 'woo_custom_redirect');
function woo_custom_redirect( $redirect ) {
// HERE set your product category (can be term IDs, slugs or names)
$category = 'posters';
$found = false;
// CHECK CART ITEMS: search for items from our product category
foreach ( WC()->cart->get_cart() as $cart_item ){
if( has_term( $category, 'product_cat', $cart_item['product_id'] ) ) {
$found = true;
break;
}
}
if ( ! is_user_logged_in() && is_checkout() && $found ) {
wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );
exit();
}
}
Вводится код function.php файл вашей активной дочерней темы (или активной темы). Проверено и работает.
3
Author: LoicTheAztec, 2018-08-21 05:20:29