Afișarea valorii unui singur atribut al produsului în pagina Magazin (Woocommerce)
Încerc să afișez valoarea unui singur atribut ('size') în pagina de magazin. Am folosit următorul cod pentru a afișa toate valorile, am încercat să-l adaptez pentru a afișa un singur atribut, dar fără succes...
Mă puteți ajuta să adaptez codul pentru a afișa doar valorile atributului 'size'?
// Obține atributele
$attributes = $product->get_attributes();
// Începe bucla
foreach ( $attributes as $attribute ) :
// Verifică și afișează, adaptat din /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 {
// Convertește barele verticale în virgule și afișează valorile
$values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
}
endforeach;
Puteți să-mi spuneți cum să-l modific

Pur și simplu folosește global $product
apoi folosește metoda get_attribute()
a acelui obiect produs, ca mai jos-
$size = $product->get_attribute( 'pa_size' );
De asemenea, poți obține asta și cu următorul cod-
global $product;
$size = array_shift( wc_get_product_terms( $product->id, 'pa_size', array( 'fields' => 'names' ) ) );
Ține minte că trebuie să folosești obligatoriu global $product
.

Nu am înțeles la ce te referi prin "separate prin spații"!! Și dacă consideri că acest răspuns te-a ajutat, te rog să îl accepți.

Chiar m-a ajutat, mulțumesc. Pur și simplu am probleme cu afișarea corectă a valorilor în template-ul meu. Poți să-mi recomanzi cum să le afișez?

Poți oferi vreun link vizibil sau o imagine cum vrei să le afișezi? @user3767576

http://nadinka.webd.pl/modafirma/category/clothing/ - la hover pe imaginea produsului vei vedea o casetă cu Dimensiuni disponibile, vreau să afișez acolo toate valorile de dimensiuni atribuite produsului. Am încercat să le afișez folosind $echo, dar apare doar prima valoare (există mai multe pentru fiecare produs)

Am înțeles. Sunt cam ocupat acum. Dă-mi puțin timp. Mă voi întoarce la tine. Ok, prietene?

Codul care a funcționat pentru mine este $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;

Pentru a afișa un atribut specific numit "Dimensiuni produs":
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>' . __( 'Dimensiuni produs', 'woocommerce' ) . '</th> <td class="product_dimensions">' . esc_html( $item_dimensions ) . '</td> </tr></table>'; } }
