Maison >développement back-end >tutoriel php >Comment afficher l'état du stock pour les variations de produits dans la liste déroulante WooCommerce ?

Comment afficher l'état du stock pour les variations de produits dans la liste déroulante WooCommerce ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 09:40:02762parcourir

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

Comment ajouter l'état du stock de variation à la liste déroulante des variantes de produits WooCommerce

Problème :

WooCommerce n'affiche pas l'état du stock pour les variantes de produits individuels dans la liste déroulante. Cela peut rendre difficile pour les clients de déterminer quelles variantes sont disponibles.

Solution :

Pour ajouter l'état du stock de variantes à la liste déroulante, vous pouvez modifier la fonction wc_dropdown_variation_attribute_options dans votre installation WooCommerce. Cette fonction génère le HTML qui s'affiche dans le menu déroulant.

Code :

<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>

Explication :

  • La fonction wc_dropdown_variation_attribute_options est liée au filtre woocommerce_dropdown_variation_attribute_options_html.
  • La fonction prend deux arguments : le HTML affiché dans le menu déroulant et un tableau d'arguments qui incluent les informations sur le produit et l'attribut.
  • La fonction parcourt les variantes du produit et obtient l'état du stock pour chacun.
  • L'état du stock est ajouté au code HTML, préfixé par le nom de l'attribut de variation.
  • Le HTML modifié est renvoyé et affiché dans le menu déroulant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn