>백엔드 개발 >PHP 튜토리얼 >WooCommerce 드롭다운에서 제품 변형에 대한 재고 상태를 표시하는 방법은 무엇입니까?

WooCommerce 드롭다운에서 제품 변형에 대한 재고 상태를 표시하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 09:40:02762검색

How to Display Stock Status for Product Variations in WooCommerce Dropdown?

WooCommerce 제품 변형 드롭다운에 변형 재고 상태를 추가하는 방법

문제:

WooCommerce 드롭다운 목록에는 개별 제품 변형에 대한 재고 상태가 표시되지 않습니다. 이로 인해 고객이 어떤 변형이 사용 가능한지 판단하기 어려울 수 있습니다.

해결책:

드롭다운에 변형 재고 상태를 추가하려면 다음에서 wc_dropdown_variation_attribute_options 함수를 수정하면 됩니다. WooCommerce 설치. 이 함수는 드롭다운 메뉴에 표시되는 HTML을 생성합니다.

코드:

<code class="php">add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'show_stock_status_in_dropdown', 10, 2 );
function show_stock_status_in_dropdown( $html, $args ) {
    // Get the product and attribute.
    $product = $args['product'];
    $attribute = $args['attribute'];

    // Get the variations for the product.
    $variations = $product->get_available_variations();

    // Loop through the variations and get the stock status for each one.
    foreach ( $variations as $variation ) {
        // Get the stock status.
        $stock_status = $variation['is_in_stock'] ? 'In Stock' : 'Out of Stock';

        // Append the stock status to the HTML.
        $html .= '<option value="' . esc_attr( $variation['variation_id'] ) . '" ' . selected( $args['selected'], $variation['variation_id'], false ) . '>' . esc_html( apply_filters( 'woocommerce_variation_option_name', $variation['attributes'][ $attribute ] ) ) . ' - (' . esc_html( $stock_status ) . ')</option>';
    }

    return $html;
}</code>

설명:

  • wc_dropdown_variation_attribute_options 함수는 woocommerce_dropdown_variation_attribute_options_html 필터에 연결됩니다.
  • 이 함수는 두 가지 인수, 즉 드롭다운 메뉴에 표시되는 HTML과 제품 및 속성 정보를 포함하는 인수 배열을 사용합니다.
  • 이 함수는 제품의 선택사항을 반복하고 각 제품의 재고 상태를 가져옵니다.
  • 재고 상태는 HTML에 추가되며 선택사항 속성 이름이 앞에 붙습니다.
  • 수정된 HTML이 반환되어 드롭다운 메뉴에 표시됩니다.

위 내용은 WooCommerce 드롭다운에서 제품 변형에 대한 재고 상태를 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.