WooCommerce: Pridanie checkboxu zobraz/skry pole objednávky

5. decembra 2019

Tento snippet ponúka možnosť zobraziť/skryť polia v pokladni objednávky pomocou zaškrtávacieho políčka (checkbox). Môže sa to napríklad hodiť, ak potrebujete schovať polia IČO a DIČ, aby zbytočne nezaberali priestor a nerušili „nefiremných“ zákazníkov. A ak by váš zákazník chcel nakúpiť na firmu, jednoducho začiarkne políčko „Nákup na firmu – IČO, DIČ“ a elegantne sa mu zobrazia polia pre zadanie týchto údajov. Schovávať odporúčam len nepovinné polia.

Polia IČO a DIČ sú schované

Zaškrtnutie „Nákup na firmu“ a následné zobrazenie políčok IČO a DIČ

 

Za normálnych okolností sú polia IČO a DIČ schované a po zaškrtnutí políčka „Nákup na firmu“ sa polia IČO a DIČ zobrazia.

Tento kód vložíte ideálne do nejakého svojho malého pluginu, alebo do functions.php v aktívnej šablóne:

add_filter( 'woocommerce_checkout_fields' , 'mr_display_checkbox' );
function mr_display_checkbox ( $fields ) {
 
$fields['billing']['checkbox_trigger_company'] = array(
    'type'      => 'checkbox',
    'label'     => __('Nákup na firmu - IČO, DIČ', 'woocommerce'),
    'class'     => array('form-row-wide'),
    'clear'     => true
);   

$fields['billing']['checkbox_trigger_company']['priority'] = 30;
   
return $fields;
 
}
 
add_action( 'woocommerce_after_checkout_form', 'mr_conditionally_hide_show_field', 6);
function mr_conditionally_hide_show_field() {
   
  ?>
   <script type="text/javascript">
	  jQuery('#billing_ic_field').hide();
	  jQuery('#billing_dic_field').hide();
	  
      jQuery('input#checkbox_trigger_company').change(function(){
          
         if (this.checked) {
            jQuery('#billing_ic_field').fadeIn();
            jQuery('#billing_dic_field').fadeIn();
            jQuery('#billing_ic_field input').val('');         
            jQuery('#billing_dic_field input').val('');         
         } else {
            jQuery('#billing_ic_field').fadeOut();
            jQuery('#billing_dic_field').fadeOut();
         }
          
      });
   </script>
  <?php    
}

Prvá funkcia mr_display_checkbox nám pridáva samotné zaškrtávacie políčko „Nákup na firmu – IČO, DIČ“ a druhá funkcia mr_conditionally_hide_show_new_field nám pomocou jQuery schováva a zobrazuje polia ktoré sme zadefinovali.

Do funkcie mr_conditionally_hide_show_field je potrebné pridať správne ID tagu input, ktorí potrebujete schovať. V mojom prípade sú to #billing_ic_field a #billing_dic_field.

Ak by ste potrebovali pomôcť s implementáciou podobnej funkcionality, tu je na mňa kontakt.

Potrebujete pomocť s WordPress webom?

Ďalšie články…

Zabezpečenie WordPress

Zabezpečenie WordPress

V tomto príspevku vám ukážem, ako si svojpomocne zabezpečiť svoj WordPress. Vďaka tomu, že WordPress je...

0 komentárov

Odoslať komentár

Vaša e-mailová adresa nebude zverejnená.