Visualizza il valore di un singolo attributo del prodotto nella pagina Shop (Woocommerce)
Sto cercando di visualizzare il valore di un singolo attributo ('size') nella pagina shop. Ho utilizzato il seguente codice per mostrare tutti i valori, ho provato ad adattarlo per mostrare un singolo attributo, ma senza successo...
Potete aiutarmi ad adattare il codice per visualizzare solo i valori dell'attributo 'size'?
// Ottieni gli attributi
$attributes = $product->get_attributes();
// Inizia il ciclo
foreach ( $attributes as $attribute ) :
// Controlla e genera output, adattato da /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 {
// Converti i separatori in virgole e mostra i valori
$values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
}
endforeach;
Potete farmi sapere come modificarlo?

Basta usare global $product
e poi utilizzare il metodo get_attribute()
di quell'oggetto prodotto, come mostrato di seguito-
$size = $product->get_attribute( 'pa_size' );
Puoi anche ottenerlo con il seguente codice-
global $product;
$size = array_shift( wc_get_product_terms( $product->id, 'pa_size', array( 'fields' => 'names' ) ) );
Ricorda che devi assolutamente usare global $product
.

Non ho capito a cosa ti riferisci con "separati da spazi"!! E se pensi che questa risposta ti abbia aiutato, per favore accettala.

Mi è stato utile, grazie. Ho solo difficoltà a visualizzare correttamente i valori nel mio template. Puoi consigliarmi come visualizzarli?

Puoi fornire qualche link visibile o immagine di come vuoi mostrarli? @user3767576

http://nadinka.webd.pl/modafirma/category/clothing/ - al passaggio del mouse sull'immagine del prodotto vedrai un riquadro con le taglie disponibili, voglio visualizzare lì tutti i valori delle taglie assegnati al prodotto. Ho provato a mostrarli usando $echo, ma appare solo il primo valore (ce ne sono più di uno per ogni prodotto)

Capito. Sono un po' occupato al momento. Dammi un po' di tempo. Ti risponderò. Va bene amico mio?

Il codice che ha funzionato per me è $size = $product->get_attribute( 'pa_size' );
global $product;
$size = array_values( wc_get_product_terms( $product->id, 'pa_size', array( 'fields' => 'names' ) ) );
$prodsizes=implode(", ",$size);
echo $prodsizes;

Per mostrare un attributo specifico chiamato "Dimensioni Articolo":
add_action( 'woocommerce_single_product_summary', 'display_product_formated_dimensions_table', 25 );
function display_product_formated_dimensions_table(){ global $product;
$item_dimensions = $product->get_attribute( 'Item Dimensions' ); if ( $product->has_attributes() ) { echo '<table class="shop_attributes"><tr> <th>' . __( 'Dimensioni Articolo', 'woocommerce' ) . '</th> <td class="product_dimensions">' . esc_html( $item_dimensions ) . '</td> </tr></table>'; } }
