Po kliknięciu przycisku Dodaj do koszyka Woocommerce wyświetla komunikat, przeglądanie koszyka, chcę edytować tę wiadomość, faktycznie edytuję wszystkie span, umieszczam ikonę itp. ..Woocommerce, Jak edytować wiadomość "dodano do koszyka"
Odpowiedz
aby to zmienić, przejdź do woocommerce plugin następnie podążać tą ścieżką:
/includes/class-wc-frontend-scripts.php liczba linii: 157
Chcę to edytować, ale bez edycji core, utworzyłem folder woocommerce na moim motywie, ale nie znalazłem tego pliku do edycji tej wiadomości, czy istnieje inny sposób na jej edycję? – Dante
Uważaj! Nigdy nie próbuj bezpośrednio edytować plików podstawowych. Zawsze używaj "filtrów" lub "szablonów" w "motywach potomnych". Zawsze jest taki, którego szukasz. –
Czy próbowałeś filtr lubią po
function your_add_to_cart_message() {
if (get_option('woocommerce_cart_redirect_after_add') == 'yes') :
$message = sprintf('%s<a href="%s" class="your-style">%s</a>', __('Successfully added to cart.', 'woocommerce'), esc_url(get_permalink(woocommerce_get_page_id('shop'))), __('Continue Shopping', 'woocommerce'));
else :
$message = sprintf('%s<a href="%s" class="your-class">%s</a>', __('Successfully added to cart.' , 'woocommerce'), esc_url(get_permalink(woocommerce_get_page_id('cart'))), __('View Cart', 'woocommerce'));
endif;
return $message;
}
add_filter('wc_add_to_cart_message', 'your_add_to_cart_message');
W odpowiedzi na wiadomość aktualizowania ajax, spróbuj funkcję tłumaczenia jak:
function your_woo_ajax_solution($translation, $text, $domain) {
if ($domain == 'woocommerce') { // your domain name
if ($text == 'View Cart') { // current text that shows
$translation = 'Basket updated.'; // The text that you would like to show
}
}
return $translation;
}
add_filter('gettext', 'your_woo_ajax_solution', 10, 3);
Ta funkcja jest dobra, ale chcę zmienić wiadomość na liście produktów, po kliknięciu na przycisk Dodaj do koszyka funkcja ta zmieniła tylko wiadomość na stronie pojedynczego produktu. – Dante
Jeśli spojrzeć na add-to-cart.js
pożary wyzwalacz added_to_cart
na dodaniu produktu do koszyka. Wpadłem na to i zrobiłem to, co można dodać po dodaniu produktu do koszyka.
Nadzieję, że pomaga!
Dodaj filtr do swojego motywu/functions.php. Poniższy kod tylko zastępuje istniejący komunikat $. To nadpisze $ wiadomość prawie identyczną, która przedkłada link "do kasy" do wiadomości.
Upewnij się, że zwróciłeś wiadomość $.
Można oczywiście zmodyfikować istniejącą wiadomość, ponieważ cała rzecz jest przekazywana jako ciąg znaków za pośrednictwem pierwszego parametru lub zmiennej $ message var.
add_filter ('wc_add_to_cart_message', 'wc_add_to_cart_message_filter', 10, 2);
function wc_add_to_cart_message_filter($message, $product_id = null) {
$titles[] = get_the_title($product_id);
$titles = array_filter($titles);
$added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles));
$message = sprintf('%s <a href="%s" class="button">%s</a> <a href="%s" class="button">%s</a>',
esc_html($added_text),
esc_url(wc_get_page_permalink('checkout')),
esc_html__('Checkout', 'woocommerce'),
esc_url(wc_get_page_permalink('cart')),
esc_html__('View Cart', 'woocommerce'));
return $message;
}
Dziękuję, to działało dla mnie. –
To rozwiązanie już nie działa. WC 3.0 wymaga użycia "wc_add_to_cart_message_html" zamiast "wc_add_to_cart_message" i "wc_add_to_cart_message_filter" – GauchoCode
W woocommerce 3.0 "wc_add_to_cart_message" jest przestarzała i już nie działa. Więc gdy odpowiedź przez @zmonteca było ok, nie jest już pracuje nad woocommerce 3,0
Wystarczy zastąpić „wc_add_to_cart_message” z „wc_add_to_cart_message_html” i woalu ... działa.
add_filter ('wc_add_to_cart_message', 'wc_add_to_cart_message_filter', 10, 2);
function wc_add_to_cart_message_filter($message, $product_id = null) {
$titles[] = get_the_title($product_id);
$titles = array_filter($titles);
$added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles));
$message = sprintf('%s <a href="%s" class="button">%s</a> <a href="%s" class="button">%s</a>',
esc_html($added_text),
esc_url(wc_get_page_permalink('checkout')),
esc_html__('Checkout', 'woocommerce'),
esc_url(wc_get_page_permalink('cart')),
esc_html__('View Cart', 'woocommerce'));
return $message;}
Chcesz zmienić wiadomość na AJAX dodać do koszyka lub na stronach produktów? – Abstract
Tak, ta wiadomość, która mówi tylko "widok koszyka" Chcę to edytować, spróbowałem edytować klasę za pomocą css "przed", ale wynik nie jest taki fajny ... – Dante