Mesaj Woocommerce "adăugat în coș" pe pagina principală

30 aug. 2016, 15:34:54
Vizualizări: 28.3K
Voturi: 0

Î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 &rarr;', '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 &rarr;', '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?

0
Toate răspunsurile la întrebare 5
0

Soluția a fost la fel de simplă cum ar fi trebuit să fie: am adăugat pur și simplu acest fragment de cod în fișierul .php al paginii mele principale:

do_action( 'woocommerce_before_single_product' );
30 aug. 2016 16:36:05
0

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 &rarr;', '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 &rarr;', '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 ); 
30 aug. 2016 15:42:18
0

woocommerce are această funcție separată

wc_print_notices();

așa că folosește-o pur și simplu în șabloanele tale. Nu este nevoie să folosești echo sau print, doar apelează funcția așa cum este.

29 sept. 2020 04:10:48
1

Copiază acest cod și lipește-l în fișierul temei tale page.php sau singlepage.php

do_action('woocommerce_before_single_product');
10 nov. 2017 09:15:03
Comentarii

Notă: Această soluție va afișa tot ceea ce este conectat la hook-ul woocommerce_before_single_product. Nu recomand această abordare.

Sillo Sillo
20 apr. 2018 02:07:46
0

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();
}
14 apr. 2023 12:59:35