Mesaj Woocommerce "adăugat în coș" pe pagina principală
În prezent creez un magazin online cu WooCommerce. Pe pagina mea principală există un slider de produse cu butonul adaugă-în-coș sub fiecare produs. Dacă dau click pe buton, produsul este adăugat cu succes în coș, dar fără niciun mesaj.
În timp ce căutam pe Internet, am descoperit că mesajele pot fi adăugate pe pagina de magazin, pagina de categorie produs și pagina de etichete produs (în acest articol). Conform articolului, ar trebui să folosesc un filtru/hook pentru a intercepta evenimentul adaugă-în-coș și pentru a afișa mesajul pe pagina principală.
Am încercat următorul cod:
add_filter( 'woocommerce_add_to_cart_message', 'custom_add_to_cart_message' );
function custom_add_to_cart_message() {
global $woocommerce;
// Afișează mesajele de succes
if (get_option('woocommerce_cart_redirect_after_add')=='yes') :
$return_to = get_permalink(woocommerce_get_page_id('shop'));
$message = sprintf('<a href="%s" class="button">%s</a> %s', $return_to, __('Continuă Cumpărăturile →', 'woocommerce'), __('Produsul a fost adăugat cu succes în coșul tău.', 'woocommerce') );
else :
$message = sprintf('<a href="%s" class="button">%s</a> %s', get_permalink(woocommerce_get_page_id('cart')), __('Vezi Coșul →', 'woocommerce'), __('Produsul a fost adăugat cu succes în coșul tău.', 'woocommerce') );
endif;
return $message;
}
dar nu se întâmplă nimic. Mă poate ajuta cineva?

Acest articol vă va ajuta în această problemă https://docs.woocommerce.com/document/woocommerce-cart-notices/
Sau puteți adăuga codul de mai jos în functions.php pentru a afișa un mesaj de succes
add_filter( 'woocommerce_add_to_cart_message', 'custom_add_to_cart_message' );
function custom_add_to_cart_message() {
global $woocommerce;
// Afișează mesajele de succes
if (get_option('woocommerce_cart_redirect_after_add')=='yes') :
$return_to = get_permalink(woocommerce_get_page_id('shop'));
$message = sprintf('<a href="%s" class="button">%s</a> %s', $return_to, __('Continuă Cumpărăturile →', 'woocommerce'), __('Produs adăugat cu succes în coș.', 'woocommerce') );
else :
$message = sprintf('<a href="%s" class="button">%s</a> %s', get_permalink(woocommerce_get_page_id('cart')), __('Vezi Coșul →', 'woocommerce'), __('Produs adăugat cu succes în coș.', 'woocommerce') );
endif;
return $message;
}
function your_woo_ajax_solution( $translation, $text, $domain ) {
if ( $domain == 'woocommerce' ) { // domeniul dumneavoastră
if ( $text == 'View Cart' ) { // textul curent care apare
$translation = 'Produs adăugat cu succes în coș.'; // Textul pe care doriți să îl afișați
}
}
return $translation;
}
add_filter( 'gettext', 'your_woo_ajax_solution', 10, 3 );

Adaugă un cârlig (hook) personalizat pe pagina unde dorești să afișezi mesajele WooCommerce. Ca acesta:
do_action('my_custom_hook');
După ce ai adăugat cârligul de mai sus, pur și simplu adaugă următorul cod în fișierul functions.php al temei tale.
add_action('my_custom_hook', 'show_woo_notices');
function show_woo_notices() {
wc_print_notices();
}
