if($name_surname !== '' && $name_surname !== NULL)
{
echo '<li><strong>Name and Surname:</strong> ' . $name_surname . '</li>';
};
add_filter( 'woocommerce_checkout_fields' , 'shipping_safe_checkout_fields' );
function shipping_safe_checkout_fields( $fields ) {
$fields['shipping']['shipping_daypart'] = array(
'type' => 'select',
'class' => array( 'wps-drop' ),
'label' => __( 'Delivery options' ),
'options' => array(
'blank' => __( 'Select a day part', 'wps' ),
'morning' => __( 'In the morning', 'wps' ),
'afternoon' => __( 'In the afternoon', 'wps' ),
'evening' => __( 'In the evening', 'wps' )
)
);
return $fields;
}
unset($fields['shipping']['shipping_daypart']);
add_filter( 'woocommerce_checkout_fields' , 'billing_safe_checkout_fields' );
function billing_safe_checkout_fields( $fields ) {
$fields['billing']['billing_whatsapp'] = array(
'type' => 'select',
'required' => false,
'class' => array('form-row-wide'),
'clear' => true,
'options' => array(
'' => 'Выберите куда сообщить о заказе',
'whatsapp' => 'WhatsApp',
'viber' => 'Viber',
'telegram' => 'Telegram',
)
);
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'conditionally_remove_checkout_fields', 25, 1 );
function conditionally_remove_checkout_fields( $fields ) {
$set_one= array( 1, 2, 3); //перечень ID товаров для первого сета
$set_two= array( 4, 5, 6); //перечень ID товаров для второго сета
$set_three= array( 7, 8, 9); //перечень ID товаров для третьего сета
$check_s1= false;
$check_s2= false;
$check_s3= false;
// Проверяем первый сет
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $set_one) ){
$check_s1= true;
break;
}
if ( $check_s1) {
unset($fields['shipping']['shipping_first_name']);
}
return $fields;
// Проверяем второй сет
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $set_two) ){
$check_s2= true;
break;
}
if ( $check_s2) {
unset($fields['shipping']['shipping_first_name']);
}
return $fields;
// Проверяем трейтий сет
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $set_three) ){
$check_s3= true;
break;
}
if ( $check_s3) {
unset($fields['shipping']['shipping_first_name']);
}
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'conditionally_remove_checkout_fields', 25, 1 );
function conditionally_remove_checkout_fields( $fields ) {
$set_one= array( 1, 2, 3); //перечень ID товаров для первого сета
$set_two= array( 4, 5, 6); //перечень ID товаров для второго сета
$set_three= array( 7, 8, 9); //перечень ID товаров для третьего сета
$is_in_cart = false;
// Проверяем первый сет
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $set_one) ){
$is_in_cart = true;
break;
}
if ( $is_in_cart ) {
unset($fields['shipping']['shipping_first_name']);
}
return $fields;
// Проверяем второй сет
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $set_two) ){
$is_in_cart = true;
break;
}
if ( $is_in_cart ) {
unset($fields['shipping']['shipping_first_name']);
}
return $fields;
// Проверяем трейтий сет
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $set_three) ){
$is_in_cart = true;
break;
}
if ( $is_in_cart ) {
unset($fields['shipping']['shipping_first_name']);
}
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'conditionally_remove_checkout_fields', 25, 1 );
function conditionally_remove_checkout_fields( $fields ) {
// Определяем категорию для которой отключем поля
$product_ids = array( 37, 53, 70 ); //перечень ID товаров для которых отключаем поля
$is_in_cart = false;
// Проверяем все товары
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item )
if( in_array( $cart_item['data']->get_id(), $product_ids ) ){
$is_in_cart = true;
break;
}
// Если нашли, тогда выполняем....
if ( $is_in_cart ) {
// hide the billing fields
unset($fields['shipping']['shipping_first_name']);
unset($fields['shipping']['shipping_last_name']);
unset($fields['shipping']['shipping_company']);
unset($fields['shipping']['shipping_address_1']);
unset($fields['shipping']['shipping_address_2']);
unset($fields['shipping']['shipping_city']);
unset($fields['shipping']['shipping_postcode']);
unset($fields['shipping']['shipping_country']);
unset($fields['shipping']['shipping_state']);
unset($fields['shipping']['shipping_phone']);
}
return $fields;
}
function wpb_hook_javascript() {
?>
<script>
jQuery(function($) {
if ($('td.product-name:contains("Аэропорт")').length > 0) {
$('input#ticket_number').hide();
$('input#address').show();
}
});
</script>
<?php
}
add_action('wp_head', 'wpb_hook_javascript');
Был в разъездах и мало был в сети.
Откуда брать вот это "$gift_wrap".
Это просто было условие у автора.
Вы можете выводить свои поля только, для своего кода я делал проверку
если пусто - ничего не выводилось в письме с Name and Surname:
а так в слепую понять полную картину вашей задачи не могу.