Показывать только непустые пользовательские поля label / value в Woocommerce - PullRequest
0 голосов
/ 12 ноября 2018

Можно ли отображать метку 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 Ответ

0 голосов
/ 12 ноября 2018

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

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). Проверено и работает.

...