ホームページ  >  記事  >  バックエンド開発  >  WooCommerce ドロップダウンで製品バリエーションの在庫状況を表示するにはどうすればよいですか?

WooCommerce ドロップダウンで製品バリエーションの在庫状況を表示するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 09:40:02717ブラウズ

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 と、製品と属性の情報を含む引数の配列の 2 つの引数を取ります。
  • 関数は製品のバリエーションをループし、各バリエーションの在庫ステータスを取得します。
  • 在庫ステータスは、バリエーション属性名が接頭辞として HTML に追加されます。
  • 変更された HTML が返され、ドロップダウン メニューに表示されます。

以上がWooCommerce ドロップダウンで製品バリエーションの在庫状況を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。