Pubblicato da: Roberto
Commenti: 0
Data di pubblicazione: 27/04/2021
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