programing

Woocommerce 3의 가변 제품 드롭다운에서 "옵션 선택"을 제거합니다.

codeshow 2023. 3. 13. 20:40
반응형

Woocommerce 3의 가변 제품 드롭다운에서 "옵션 선택"을 제거합니다.

"option" (옵션) 뒤에 있는 WooCommerce 제품 페이지의 변형 드롭다운에서 삭제하려고 합니다.

제대로 작동되지 않는 많은 코드를 찾았습니다.아마도 최신 WooCommerce 버전에 비해 오래되었을 것입니다.

시도했지만 부분적으로 작동 중인 작업:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'my_wc_filter_dropdown_args', 10 );
function my_wc_filter_dropdown_args( $args ) {
    $args['show_option_none'] = '';
    return $args;
}

이것은 공백이 아닌 ' 사이에 텍스트를 설정했을 때만 작동합니다.기능에 추가되었을 때.php는 위와 같이 변경되지 않고 기본 텍스트로 설정됩니다. 그림과 같이 "선택 옵션"을 선택합니다.여기 뭐가 잘못됐는지 모르겠어요."false" 또는 "none"도 시도했지만 어느 옵션에서도 작동하지 않았습니다.

누군가 이 일을 도와주시면 감사하겠습니다.

저는 최신 WP 4.9.6과 WooCommerce 최신 버전(어떤 버전이든)을 사용하고 있습니다.PHP(7.2)까지 모든 것이 최신 버전으로 업데이트 됩니다.

올바른 방법은 다음을 사용하는 것입니다.woocommerce_dropdown_variation_attribute_options_html필터 후크를 대신합니다.기본 속성 드롭다운을 가진 일반 변수 제품의 스크린샷 아래:

여기에 이미지 설명 입력

두 가지 다른 경우가 있습니다.

1) 이 html 삭제option완전**:

add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
    $show_option_none_html = '<option value="">' . esc_html( $show_option_none_text ) . '</option>';

    $html = str_replace($show_option_none_html, '', $html);

    return $html;
}

코드가 기능합니다.php 파일에는 액티브한 아이 테마(또는 활성 테마).테스트 및 동작.

html 옵션이 완전히 삭제되어 제품 속성 값이 다음과 같은 옵션만 유지됩니다.

여기에 이미지 설명 입력


2) "Select an option"(옵션 선택) 텍스트만 삭제합니다(라벨명이 없는 옵션이 표시됩니다).

add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
    $show_option_none_text = esc_html( $show_option_none_text );

    $html = str_replace($show_option_none_text, '', $html);

    return $html;
}

코드가 기능합니다.php 파일에는 액티브한 아이 테마(또는 활성 테마).테스트 및 동작.

여기에 이미지 설명 입력

모든 코드는 최신 Woocommerce 버전 3.4.x에서 테스트됩니다.

코드를 기능에 추가합니다.현재 테마의 php 파일.

add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
    $show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
    $show_option_none_html = '<option value="">'.esc_html( $show_option_none_text ).'</option>';
    $html = str_replace($show_option_none_html, '', $html);
    return $html;
}

함수 파일을 넣기만 하면 됩니다.

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'wc_remove_options_text');
function wc_remove_options_text( $args ){
    $args['show_option_none'] = '';
    return $args;
}

CSS로 하는 건 어때?

.select2-results__options li:first-child {
   display: none;
}

언급URL : https://stackoverflow.com/questions/51181479/remove-choose-an-option-from-variable-product-dropdowns-in-woocommerce-3

반응형