web-dev-qa-db-fra.com

Afficher la valeur d'un attribut de produit unique sur la page Boutique (Woocommerce)

J'essaie d'afficher une valeur d'attribut unique ("taille") sur la page de magasin. J'ai utilisé le code suivant pour afficher toutes les valeurs, j'ai essayé de m'adapter pour afficher un seul attribut, mais sans succès ...

Pouvez-vous m'aider à adapter le code pour n'afficher que les valeurs de l'attribut 'taille'?

// Get the attributes
$attributes = $product->get_attributes();
// Start the loop
foreach ( $attributes as $attribute ) : 
    // Check and output, adopted from /templates/single-product/product-attributes.php
    if ( $attribute['is_taxonomy'] ) {
        $values = wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) );
        echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
    } else {
        // Convert pipes to commas and display values
        $values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
        echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
    }
endforeach;

Pouvez-vous s'il vous plaît laissez-moi savoir comment le modifier

4
user3767576

Utilisez simplement global $product puis utilisez la méthode get_attribute() de cet objet produit, comme ci-dessous -

$size = $product->get_attribute( 'pa_size' );

Et vous pouvez également obtenir que par code ci-dessous

global $product;
$size = array_shift( wc_get_product_terms( $product->id, 'pa_size', array( 'fields' => 'names' ) ) );

N'oubliez pas que vous devez utiliser le global $product.

5
CodeMascot