Показывать только непустые пользовательские поля label / value в Woocommerce

Можно ли отображать метку Custom Field: только в том случае, если в поле ввода есть содержимое. В настоящее время, если настраиваемое поле пусто, оно по-прежнему отображает метку Пользовательское поле: на странице сведений о продукте.

Я включил последний фрагмент кода из моего файла functions.php для моего настраиваемого поля ниже.

add_filter( 'woocommerce_available_variation', 'jms_add_custom_field_variation_data' );

function jms_add_custom_field_variation_data( $variations ) {
$variations['custom_field'] = '<div class="woocommerce_custom_field">Custom Field: <span>' . get_post_meta( $variations[ 'variation_id' ], 'custom_field', true ) . '</span></div>';
return $variations;
}

1

Решение

Попробуйте следующее, чтобы не добавить настраиваемое поле в варианты, если оно пустое:

add_filter( 'woocommerce_available_variation', 'add_custom_field_variation_data' );
function add_custom_field_variation_data( $variations ) {
if( $value = get_post_meta( $variations[ 'variation_id' ], 'custom_field', true ) )
$variations['custom_field'] = '<div class="woocommerce_custom_field">Custom Field: <span>' . $value . '</span></div>';
return $variations;
}

Код помещается в файл function.php вашей активной дочерней темы (active theme). Проверено и работает.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector