Я не уверен, что это правильный вопрос, но все же я не нашел для этого никаких решений. Я пытаюсь создать метод, когда пользователь переходит на страницу/сайт, отличный от текущей страницы Checkout, корзина пользователя будет автоматически опустошена. Интересно, возможно ли это, потому что я изменил поток покупок своего пользовательского электронного магазина. Я попытался выполнить поиск в Интернете и попробовать много методов, но он, похоже, не работает. В настоящее время мне трудно понять, как работают функции WooCommerce &.WooCommerce Empty Cart, если пользователь перешел на страницу или сайт, отличный от текущей проверки Страница
Теперь, позвольте мне сказать вам, ребята, как мой код работает с самого начала: -
Это код для страницы, которые отображают весь доступный продукт. Как вы можете видеть, когда пользователь хотел купить продукт, он нажмет кнопку «Купить», и мой электронный магазин автоматически добавит этот товар в корзину.
<?php
// Querying of product information retrieval
$args = array('post_type' => 'product', 'posts_per_page' => 4, 'orderby' =>'menu_order', 'order' =>'ASC');
$loop = new WP_Query($args);
// Display each retrieved product
while ($loop->have_posts()) :
$loop->the_post();
// WooCommerce global product variable
global $product;
global $woocommerce;
the_title();
the_excerpt();
echo $product->get_price_html();
$id = $product->id;
?>
/**** Select the product & automatically add to cart ****/
<a href="<?php echo do_shortcode('[add_to_cart_url id="' . $id . '"]'); ?>"><button type="button"> BUY</button></a>
<?php endwhile; ?>
<?php wp_reset_query(); // After the loop ended, quit the custom loop and reset back the main loop
?>
Когда мой E-магазин завершили процесс «добавить в корзину», то пользователь будет перенаправлен на заказ странице. Функция для него следующая.
add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
В основном то, что я пытаюсь сказать это, пользователь будет непосредственно перенаправлены на страницу Checkout после нажмите, чтобы купить этот продукт. Этот метод пропустил страницу Single Product & Добавить на страницу Корзина.
Но сейчас, мне нужна помощь при определении правильного метода , если пользователь выйдет из этой страницы или выйдет из системы, тележка будет автоматически пуста. Является ли это возможным? Если нет, извините за недостаток знаний.
Я пробовал код ниже, так как он наиболее близок к тому, что я хочу. Закрыть, но не работает.
add_action('init', 'woocommerce_clear_cart_url');
function woocommerce_clear_cart_url() {
global $woocommerce;
if (!is_page('93')) {
$woocommerce->cart->empty_cart();
}
}
С выше функции, всякий раз, когда я попытался вернуться на главную страницу или перейти на другую ссылку и нажмите купить еще раз, тележка просто продолжайте добавлять. Эта вещь заставляет меня потерять рассудок. Надеюсь, вы, ребята, можете мне помочь.
Hi Kaydarin. Вы когда-нибудь находили решение для этого? Мне нужно сделать то же самое. – inspirednz
@inspirednz PLS попробовать мое решение – DrMosko