Woocommerce: modificare il link “continua gli acquisti” nel checkout

Vi sarà già capitato di dover cambiare la destinazione del pulsante che appare quando aggiungete nel carrello un prodotto e sopra appare il pulsante “continua gli acquisti” che rimanda in base al tema al negozio o al prodotto appena aggiunto.
Potete forzare il link ad una pagina specifica inserendo questo codice nel file functions.php del vostro tema:

/**
 * @snippet       Continue Shopping Link - WooCommerce Cart
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.6.2
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_filter( 'woocommerce_continue_shopping_redirect', 'bbloomer_change_continue_shopping' );
 
function bbloomer_change_continue_shopping() {
   return wc_get_page_permalink( 'shop' );
}
Ringrazio l’autore del codice Rodolfo Melogli

Woocommerce: registrare consenso termini e condizioni di servizio in fase di checkout

Non so se tutti lo sanno ma il consenso del checkbox “accesso i termini e condizioni di servizio” non viene registrato nel database, inibisce solo la conclusione del processo.

E’ possibile registrare il dato attraverso un piccolo snipped di codice consigliato dagli sviluppatori woocommerce, eccolo qui:

// 1. Save T&C as Order Meta
  
add_action( 'woocommerce_checkout_update_order_meta', 'bbloomer_save_terms_conditions_acceptance' );
  
function bbloomer_save_terms_conditions_acceptance( $order_id ) {
if ( $_POST['terms'] ) update_post_meta( $order_id, 'terms', esc_attr( $_POST['terms'] ) );
}

Questo invece vi consente di visualizzare il dato nella pagina di riepilogo ordine nell’area riservata:

add_action( 'woocommerce_admin_order_data_after_billing_address', 'bbloomer_display_terms_conditions_acceptance' );
  
function bbloomer_display_terms_conditions_acceptance( $order ) {
if ( get_post_meta( $order->get_id(), 'terms', true ) == 'on' ) {
echo '<p><strong>Termini e condizioni: </strong>accettati</p>';
} else echo '<p><strong>Termini e condizioni: </strong>N/A</p>';
}

Questo invece vi consente di visualizzare il dato nella mail che arriva al cliente quando conclude il processo di acquisto:

add_action( 'woocommerce_email_before_order_table', 'bbloomer_add_content_specific_email', 20, 4 );
  
function bbloomer_add_content_specific_email( $order, $sent_to_admin, $plain_text, $email ) {
   if ( $email->id == 'customer_processing_order' || $email->id == 'new_order' || $email->id == 'customer_on_hold_order') {
      
      if ( get_post_meta( $order->get_id(), 'terms', true ) == 'on' ) {
      echo '<p><strong>Termini e condizioni: </strong>accettati</p>';
      } else echo '<p><strong>Termini e condizioni: </strong>N/A</p>';

   }  
}

Tutti questi snipped vanno inseriti nella pagina functions.php del vostro tema

Snippet trovati su: www.businessbloomer.com

Aggiungi regalo nel carrello woocommerce con minimo d’ordine senza plugin

Prendo spunto da un articolo che ho trovato qualche giorno fa che permette di aggiungere al carrello un prodotto al raggiungimento di un importo del carrello.

La funzionalità si attiva facilmente inserendo del codice all’interno del file functions.php

L’articolo è il seguente: https://interno15.it/blog/come-aggiungere-un-prodotto-in-regalo-nel-carrello-di-woocommerce-al-raggiungimento-di-un-importo-senza-acquistare-plugin

Ho voluto però fare una piccola modifica che mi permette di controllare le variabili dentro wooocommerce una volta inserito il codice senza necessariamente entrare e modificare il file functions.php

Cosa di deve fare:

  • aggiungere il codice così come indicato dall’articolo di interno15.it
  • aggiungere il codice che permette di gestire le variabili: ID prodotto, Importo Minimo Carrello, Escludi/Includi spese di spedizione nel calcolo(PUNTO 2). Le variabili saranno visibili all’interno delle impostazioni woocoommerce -> prodotti -> regalo nel carrello
  • sostituire 3 righe di codice con le variabili create (PUNTO 3)

Punto 2

add_filter( 'woocommerce_get_sections_products' , 'gift_settings_tab' );

function gift_settings_tab( $settings_tab ){
     $settings_tab['gift_btn'] = __( 'Regalo nel carrello' );
     return $settings_tab;
}

add_filter( 'woocommerce_get_settings_products' , 'gift_get_settings' , 10, 2 );

function gift_get_settings( $settings, $current_section ) {
        $custom_settings = array();

        if( 'gift_btn' == $current_section ) {
	
			$custom_settings =  array(

			array(
				'name' => __( 'Regalo nel carrello' ),
				'type' => 'title',
				'desc' => __( 'Sezione personalizzata per un regalo nel carrello<hr/>' ),
				'id'   => 'gift_btn_id' 
			),

			array(
				'name' => __( 'Opzione attiva' ),
				'type' => 'checkbox',
				'desc' => __( 'Attiva'),
				'id'	=> 'enable_btn_gift'
			),
			
			array(
				'name' => __( 'ID Prodotto' ),
				'type' => 'text',
				'desc' => 'Prodotto che sarà aggiunto nel carrello',
				'id'	=> 'id_product_to_gift'
			),
			array(
				'name' => __( 'Totale carrello minimo' ),
				'type' => 'text',
				'desc' => 'Importo minimo che deve essere il carrello per aggiungere il regalo',
				'id'	=> 'cart_value_product_to_gift'
			),

			array(
				'name' => __( '' ),
				'type' => 'checkbox',
				'desc' => __( 'escludi dal totale carrello minimo le spese di spedizione'),
				'id'	=> 'exlude_shopping_cost_for_gift'
			),
			
			array( 'type' => 'sectionend', 'id' => 'gift_btn_id' ),

			);	
				
		return $custom_settings;
     } else {
        	return $settings;
    }

}

Punto 3


$product_gifted_id = 0;
//diventa
$product_gifted_id =get_option( 'id_product_to_gift' );


$price_limit = 80;
//diventa
$price_limit =floatval(get_option( 'cart_value_product_to_gift' ));


$total_with_delivery = false/true;
//diventa

if (get_option( 'exlude_shopping_cost_for_gift' )=='no') 
$total_with_delivery = false;
else
$total_with_delivery = true;

La variabile “attiva regalo” si può gestire in due modi:
– non facendo nessuna operazione (quindi se è nel carrello il regalo non lo toglie)
– se non attiva rimuovi il regalo dal carrello (nel caso che il prodotto destinato a regalo sia usato sempre e solo come regalo)

Se fosse per esempio il caso 2 aggiungere nel codice dopo la stringa di controllo carrello vuoto il seguente codice:

if (get_option( 'enable_btn_gift' )=='no') {
WC()->cart->remove_cart_item( $product_gifted_id ); //commentare questa riga se non volete che venga rimosso il prodotto dal carrello
return;
}
©2022 AGANIS WEB SOFTWARE di Francesca Roccabruna | P.IVA TRENTO 02183500228 - N.REA 205930
contatti | cookies | Privacy Policy