הסתרת שדות הכתובת לווקומרס

איך להסתיר את שדות הכתובת לחיוב בעמוד התשלום כאשר הלקוח בוחר איסוף עצמי ומשלם במזומן?
בהגדרות תוסף בחר 'איסוף עצמי' באפשרות 'שיטות משלוח' ו'מזומן בעת מסירה' באפשרות 'אמצעי תשלום'.

איך להסתיר בנוסף שדות אחרים כלשהם בעמוד התשלום?
עדכן את ה-id של השדות:

add_action( 'haf_before_conditions', 'haf_hide_custom_checkout_fields' );
function haf_hide_custom_checkout_fields() {
	?>
	<script type="text/javascript">
	jQuery( function( $ ) {
		var nn = 'none', field1_val = '', field2_val = '', field3_val = '', field1 = 'billing_floor', field2 = 'billing_entrance', field3 = 'billing_housenumber';
		$( document ).on( 'methods_matched', function() {
			$( '#' + field1 + '_field' ).hide();
			if ( $( '#' + field1 ).val() != nn ) {
				field1_val = $( '#' + field1 ).val();
				$( '#' + field1 ).val( nn );
			}
			$( '#' + field2 + '_field' ).hide();
			if ( $( '#' + field2 ).val() != nn ) {
				field2_val = $( '#' + field2 ).val();
				$( '#' + field2 ).val( nn );
			}
			$( '#' + field3 + '_field' ).hide();
			if ( $( '#' + field3 ).val() != nn ) {
				field3_val = $( '#' + field3 ).val();
				$( '#' + field3 ).val( nn );
			}				
		} );
		$( document ).on( 'methods_not_matched', function() {
			if ( $( '#' + field1 ).val() == nn ) {
				$( '#' + field1 ).val( field1_val );
			}
			$( '#' + field1 + '_field' ).show();
			if ( $( '#' + field2 ).val() == nn ) {
				$( '#' + field2 ).val( field2_val );
			}
			$( '#' + field2 + '_field' ).show();
			if ( $( '#' + field3 ).val() == nn ) {
				$( '#' + field3 ).val( field3_val );
			}
			$( '#' + field3 + '_field' ).show();
		} );
	} );
	</script>
	<?php
}

איך לבטל את הסתרת השדות ברכישות מעל סכום מסוים?
עדכן את הסכום:

add_filter( 'haf_hide_address', 'haf_dont_hide_address' );
function haf_dont_hide_address( $hide_enabled ) {
	$total = 100;
	return $total <= WC()->cart->get_cart_contents_total() ? false : $hide_enabled;
}

איך לבטל את הסתרת השדות אם הלקוח מילא שדה מסוים (על השדה להופיע מעל שדות הכתובת)?
עדכן את ה-id של השדה:

add_action( 'haf_before_conditions', 'haf_hide_custom_checkout_field' );
function haf_hide_custom_checkout_field() {
	?>
	<script type="text/javascript">
	jQuery( function( $ ) {
		$( '#billing_company_field' ).on( 'change', function() {
			$( document.body ).trigger( 'haf_hide_fields' );
		} );
		$( document.body ).on( 'should_hide_fields', function() {
			if ( $( '#billing_company' ).val() ) {
				return false;
			}
		} );
	} );
	</script>
	<?php
}

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *