javascript, jQuery, PHP, WordPress

Woocommerce Checkout – Configurazione campi

	function newFieldCheck(){
		
		//controlliamo di essere nella pagina giusta

		if (is_checkout()) {
	
		?>

			<script type="text/javascript">
				
			jQuery( document ).ready(function( $ ) {  
				
			// nascondo i campi di fatturazione
			
			$('#ragione_sociale_field').hide();
			$('#partita_iva_field').hide();
			$('#codice_destinatario_field').hide();
			$('#pec_field').hide();

				
			 // imposto un trigger sul campo di richiesta di fatturazione
			 	
			  $('#fattura_ricevuta').on('change', function (e) {
				  
// 				    var optionSelected = $("option:selected", this);
				    var valueSelected = this.value;
				    
				    if (valueSelected == 'SI'){
					    
					    $('.optional').hide();  //rimuovo la scritta opzionale sui campi di fatturazione
					    
					    	$('#ragione_sociale_field').show();
							$('#partita_iva_field').show();
							$('#codice_destinatario_field').show();
							$('#pec_field').show();		    			 
				    } 
				     
				     if (valueSelected == 'NO') {
					    
					    	$('#ragione_sociale_field').hide();
							$('#partita_iva_field').hide();
							$('#codice_destinatario_field').hide();
							$('#pec_field').hide();		    		    
				    }

				  
			  });				
				
			});  //end ready


			</script>
	
	
		<?php
			
		}
		
		
	} //end cpCheck



add_action('woocommerce_before_checkout_form', 'newFieldCheck');

 

 

 function validazioneFattura() {

		    $fattura = filter_input(INPUT_POST, 'fattura_ricevuta');
		    $ragione_sociale = filter_input(INPUT_POST, 'ragione_sociale');
   		    $piva = filter_input(INPUT_POST, 'partita_iva');
   		    $sdi = filter_input(INPUT_POST, 'codice_destinatario');
   		    $pec = filter_input(INPUT_POST, 'pec');
   		    $codice_fiscale = filter_input(INPUT_POST, 'codice_fiscale');

   			
   			if (strlen($codice_fiscale) != 16) {
		        wc_add_notice(__('<strong>Codice Fiscale:</strong> Errore, controlla i dati inseriti.'), 'error');
		    }

		
		    if ($fattura == 'SI' AND $ragione_sociale == '') {
		        wc_add_notice(__('<strong>Errore</strong>, devi inserire una Ragione Sociale'), 'error');
		    }
		    
		    // check partita iva  30/04/2019 - 16:30
		    
			if (($fattura == 'SI' AND strlen($piva) != 11) or ($fattura == 'Fattura' AND $piva == ''))  {
		        wc_add_notice(__('<strong>Partita IVA</strong>, Errore, controlla i dati inseriti'), 'error');
		    }
		    
		    // controllo fatturazione elettronica 24/02/2019 - 13:32
		    
		    if ($fattura == 'SI' AND $pec == '' AND $sdi == ''){
		        wc_add_notice(__('<strong>Errore</strong>, devi inserire un Codice Destinatario o un indirizzo PEC'), 'error');
		    }
			   
		    
		}
		
		add_action('woocommerce_checkout_process', 'validazioneFattura');