Afișează butonul "adaugă în coș" pentru fiecare produs în pagina de categorie?

30 aug. 2018, 11:45:48
Vizualizări: 59.2K
Voturi: 1

Am nevoie să plasez butonul Adaugă în coș pentru fiecare produs din pagina unei anumite categorii, așa cum se arată mai jos captură de ecran a paginii cu produse

Cum pot realiza acest lucru? Link către pagina subiect oma-fintess.com.ua

0
Toate răspunsurile la întrebare 4
0

Puteți utiliza hook-ul WooCommerce woocommerce_after_add_to_cart_button. Acest hook va adăuga conținut după butonul "Adaugă în coș".

Dacă clientul apasă pe acest buton, produsul trebuie adăugat în coș, iar clientul trebuie redirecționat către pagina de finalizare comandă.

Adăugați următorul cod în fișierul functions.php al temei child:

/* Creează butonul "Cumpără acum" dinamic după butonul "Adaugă în coș" */
    function add_content_after_addtocart() {
    
        // obține ID-ul curent al postului/produsului
        $current_product_id = get_the_ID();
    
        // obține produsul pe baza ID-ului
        $product = wc_get_product( $current_product_id );
    
        // obține URL-ul paginii de "Finalizare comandă"
        $checkout_url = WC()->cart->get_checkout_url();
    
        // rulează doar pentru produse simple
        if( $product->is_type( 'simple' ) ){
            echo '<a href="'.$checkout_url.'?add-to-cart='.$current_product_id.'" class="buy-now button">Cumpără acum</a>';
            //echo '<a href="'.$checkout_url.'" class="buy-now button">Cumpără acum</a>';
        }
    }
    add_action( 'woocommerce_after_add_to_cart_button', 'add_content_after_addtocart' );
27 sept. 2020 15:27:54
2
<a href="<?php the_permalink(); ?>" class="more">Mai multe informații</a><?php
if($available){?><a href="<?php
                $add_to_cart = do_shortcode('[add_to_cart_url id="'.$post->ID.'"]');
                echo $add_to_cart;
?>" class="more">Cumpără acum</a>
                    <?php 
                }

Acest cod a rezolvat problema mea conform așteptărilor.

Referință documentație WooCommerce

30 aug. 2018 18:37:52
Comentarii

Poți să explici unde ai pus acest cod?

bokan bokan
25 iun. 2020 23:35:48

Trebuie să plasezi acel cod în template-ul paginii de produs, din câte îmi amintesc.

Twissell Twissell
27 iun. 2020 15:27:25
2

Iată o soluție simplă pentru aceasta.

$product_object = wc_get_product( $product_id );
echo '<a href="' . esc_url( $product_object->add_to_cart_url() ) . '" class="buy-now button">' . esc_html__( 'Cumpără acum', 'text-domain' ) . '</a>';
22 mar. 2021 12:11:03
Comentarii

Ar trebui să fie răspunsul acceptat.

Loosie94 Loosie94
16 iun. 2021 15:40:09

Mulțumesc @Loosie94

Өлзийбат Нансалцог Өлзийбат Нансалцог
19 iun. 2021 11:41:43
4

Te rog să te asiguri că opțiunea „Activează butoanele AJAX pentru adăugare în coș pe paginile de arhivă” este activată în WooCommerce > Setări > Produse > Afișare.

De asemenea, te rugăm să verifici următorul cod și să îl plasezi în fișierul de funcții al temei tale.

add_action( ‘woocommerce_after_shop_loop_item’, ‘woocommerce_template_loop_add_to_cart’, 10 );
30 aug. 2018 13:07:33
Comentarii

@pratik-pratel Nu, nu funcționează deloc în cazul meu. Poate ai omis o parte din cod când l-ai lipit? Cred că ar trebui să folosesc <?php echo do_shortcode('[add_to_cart id="'.$post->ID.'"]'); ?> dar cum pot aplica stilul butonului la acest shortcode?

Twissell Twissell
30 aug. 2018 13:28:28

Trebuie să încerci asta [add_to_cart id="27" style="border-right:1px solid #ccc"]

Pratik Patel Pratik Patel
30 aug. 2018 13:37:38

Dacă suprascrii orice stiluri existente, va trebui să scrii .woocommerce .product .add_to_cart_button.button{ background-color: #333333; color: #FFFFFF; }

Pratik Patel Pratik Patel
30 aug. 2018 13:41:39

@pratik-pratel Presupun că ai copiat și modificat puțin sfatul tău de pe https://jonathanbossenger.com/adding-the-cart-button-to-your-divi-shop-pages/, nu-i așa?

Twissell Twissell
30 aug. 2018 16:25:36