Проблема WooCommerce с кнопкой добавления в корзину, когда продукт продается отдельно - PullRequest
0 голосов
/ 22 марта 2020

Может ли кто-нибудь помочь мне решить следующую проблему с Woocommerce: для каждого из моих продуктов установлен флажок «Продано индивидуально». Поэтому я хочу изменить текст и URL своей кнопки, когда товар находится в корзине.

1) Я добавил следующий код в функции. php:

1.1)

function my_custom_cart_button_text($text, $product){
$product_cart_id = WC()->cart->generate_cart_id($product->get_id());
$in_cart = WC()->cart->find_product_in_cart($product_cart_id);

if($in_cart){
     $text = __('VIEW CART', '');
}
return $text;
}
add_filter('woocommerce_product_single_add_to_cart_text', 'my_custom_cart_button_text ', 10, 2);
add_filter('woocommerce_product_add_to_cart_text', 'my_custom_cart_button_text ', 10, 2);

1.2)

function my_custom_cart_button_url_shop($url, $product){
$product_cart_id = WC()->cart->generate_cart_id($product->get_id());
$in_cart = WC()->cart->find_product_in_cart($product_cart_id);

if($in_cart && is_shop() || $in_cart && is_product_category()){
     $url = esc_url(wc_get_cart_url());
}
return $url;
}
add_filter('woocommerce_product_add_to_cart_url', 'my_custom_cart_button_url_shop', 10, 2);

1.3)

function my_custom_cart_button_url_product(){
global $product;
$product_cart_id = WC()->cart->generate_cart_id($product->get_id());
$in_cart = WC()->cart->find_product_in_cart($product_cart_id);

if($in_cart){
     remove_action('woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30);
     echo sprintf('<form class="cart"><a href="%s">%s</a></form>', esc_url(wc_get_cart_url()), __('VIEW CART', ''));
}
}
add_action('woocommerce_simple_add_to_cart', 'my_custom_cart_button_url_product');

2) Я добавил мини-корзину Woocommerce в шапку. php

2.1 )

the_widget('WC_Widget_Cart', '');

Моя проблема заключается в том, что когда я удаляю товар в мини-корзине Woocommerce, текст и URL-адрес кнопки изменяются только в случае перезагрузки страницы. Я бы хотел, чтобы текст и URL кнопки менялись сразу после ее удаления в мини-корзину. Что мне делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...