Aggiungere un semplice checkbox per la newsletter in woocommerce

Pubblicato da: Roberto Commenti: 0

Con questa soluzione, permetti di inserire provvisoriamente un checkbox di iscrizione alla newsletter. Ovviamente il consiglio è di adottare un plugin o servizi di terzi che ti concedono una strumentazione idonea per gestire il marketing verso i tuoi clienti.

Il checkbox verrà visualizzato nel checkout e nella pagina dettagli de “il mio account” nell’ area riservata del cliente

 

/** * @snippet Creazione checkbox newsletters - visualizza in dettagli del 'il mio account' del cliente e nel checkout dopo le note*/
add_action( 'woocommerce_edit_account_form', 'visualizza_checkbox_nelle_pagine' );
add_action( 'woocommerce_after_order_notes', 'visualizza_checkbox_nelle_pagine' );
function visualizza_checkbox_nelle_pagine() {
woocommerce_form_field( 'newsletter-iscrizione', array(
'type' => 'checkbox',
'class' => array('form-row-wide'),
'label' => __( 'Iscriviti alla newsletter', 'woocommerce' ),
), get_user_meta( get_current_user_id(), 'newsletter-iscrizione', true ) );
}

// Salva e aggiorna il valore checkbox nel pagina dettagli de 'il mio account'
add_action( 'woocommerce_save_account_details', 'salva_checkbox_nel_mio_account_woocomerce', 10, 1 );
function salva_checkbox_nel_mio_account_woocomerce( $user_id ) {
$value = isset( $_POST['newsletter-iscrizione'] ) ? '1' : '0';
update_user_meta( $user_id, 'newsletter-iscrizione', $value );
}

// Salva e aggiorna il valore checkbox nel checkout woocommerce
add_action('woocommerce_checkout_update_customer','salva_checkbox_checkout_woocommerce', 100, 2 );
function salva_checkbox_checkout_woocommerce( $customer, $data ){
$value = isset( $_POST['newsletter-iscrizione'] ) ? '1' : '0';
update_user_meta( $customer->get_id(), 'newsletter-iscrizione', $value );
}

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.