Mostrare il pulsante "aggiungi al carrello" per ogni prodotto nella pagina della categoria?

30 ago 2018, 11:45:48
Visualizzazioni: 59.2K
Voti: 1

Ho bisogno di inserire il pulsante Aggiungi al carrello per ogni prodotto nella pagina di una determinata categoria come mostrato di seguito screenshot della pagina con pulsanti aggiungi al carrello

Come posso ottenere questo risultato? Link alla pagina in questione oma-fintess.com.ua

0
Tutte le risposte alla domanda 4
0

Puoi utilizzare l'hook di WooCommerce woocommerce_after_add_to_cart_button. Questo hook aggiungerà contenuto dopo il pulsante "Aggiungi al carrello".

Se il cliente clicca su questo pulsante, il prodotto verrà aggiunto al carrello e il cliente verrà reindirizzato alla pagina di checkout.

Aggiungi il seguente codice nel file functions.php del tuo child theme:

/* Crea dinamicamente il pulsante Acquista Ora dopo il pulsante Aggiungi al Carrello */
    function add_content_after_addtocart() {
    
        // ottieni l'ID del prodotto/post corrente
        $current_product_id = get_the_ID();
    
        // ottieni il prodotto basato sull'ID
        $product = wc_get_product( $current_product_id );
    
        // ottieni l'URL della pagina di checkout
        $checkout_url = WC()->cart->get_checkout_url();
    
        // esegui solo per prodotti semplici
        if( $product->is_type( 'simple' ) ){
            echo '<a href="'.$checkout_url.'?add-to-cart='.$current_product_id.'" class="buy-now button">Acquista Ora</a>';
            //echo '<a href="'.$checkout_url.'" class="buy-now button">Acquista Ora</a>';
        }
    }
    add_action( 'woocommerce_after_add_to_cart_button', 'add_content_after_addtocart' );
27 set 2020 15:27:54
2
<a href="<?php the_permalink(); ?>" class="more">Più informazioni</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">Acquista ora</a>
                    <?php 
                }

Questo codice risolve il mio problema come previsto.

Riferimento alla documentazione di WooCommerce

30 ago 2018 18:37:52
Commenti

Potresti spiegare dove metti questo codice?

bokan bokan
25 giu 2020 23:35:48

Devi inserire quel codice nel template della pagina del prodotto, se non ricordo male.

Twissell Twissell
27 giu 2020 15:27:25
2

Ecco una semplice soluzione per questo.

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

Dovrebbe essere la risposta accettata.

Loosie94 Loosie94
16 giu 2021 15:40:09

Grazie @Loosie94

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

Assicurati che l'opzione "Abilita pulsanti AJAX aggiungi al carrello negli archivi" sia attivata in WooCommerce > Impostazioni > Prodotti > Visualizzazione.

Inoltre, verifica che il seguente codice sia inserito nel file delle funzioni del tuo tema.

add_action( ‘woocommerce_after_shop_loop_item’, ‘woocommerce_template_loop_add_to_cart’, 10 );
30 ago 2018 13:07:33
Commenti

@pratik-pratel No, non funziona affatto nel mio caso. Forse hai dimenticato qualche parte del tuo codice quando lo hai incollato? Credo che dovrei usare <?php echo do_shortcode('[add_to_cart id="'.$post->ID.'"]'); ?> ma come posso applicare lo stile del pulsante a questo shortcode?

Twissell Twissell
30 ago 2018 13:28:28

Devi provare questo [add_to_cart id="27" style="border-right:1px solid #ccc"]

Pratik Patel Pratik Patel
30 ago 2018 13:37:38

Se stai sovrascrivendo degli stili esistenti dovrai scrivere .woocommerce .product .add_to_cart_button.button{ background-color: #333333; color: #FFFFFF; }

Pratik Patel Pratik Patel
30 ago 2018 13:41:39

@pratik-pratel Posso immaginare che tu abbia copiato e modificato leggermente il tuo consiglio da https://jonathanbossenger.com/adding-the-cart-button-to-your-divi-shop-pages/, non è vero?

Twissell Twissell
30 ago 2018 16:25:36