Cum să obții slug-ul unui atribut de produs WooCommerce

14 iul. 2018, 18:24:15
Vizualizări: 45.4K
Voturi: 7

Încerc să obțin slug-ul unui atribut de produs. Am folosit codul de mai jos dar acesta afișează numele.

echo $_product->get_attribute( 'pa_color' );

Lucrez în fișierul woocommerce/cart/cart.php din folderul temei.

De asemenea, am verificat că acesta apare în URL-ul ancorei imaginii produsului în pagina coșului dar nu reușesc să-l obțin

URL ancoră: https://example.com/productos/sweatshirt/?attribute_pa_color=aa2757&attribute_pa_talla=m

Lucrez la aceasta de azi dimineață dar nu am reușit să obțin rezultatul dorit. Vă rog să mă îndrumați.

Exemplu de atribut produs WooCommerce

0
Toate răspunsurile la întrebare 4
1

Am reușit să obțin asta...

Pentru a obține slug-ul, folosește:

$attributes = $_product->get_attributes();
$pa_color = $attributes["pa_color"];

Mulțumesc tuturor pentru ajutor.

15 iul. 2018 20:41:39
Comentarii

Aceasta returnează un WC_Product_Attribute. Deci, răspunsul corect la această întrebare este să scrieți (după codul dvs.): $pa_color->get_slugs() Și dacă doriți primul slug - așa cum ați face în mod normal: $pa_color->get_slugs()[0].

Peter Højlund Andersen Peter Højlund Andersen
8 mai 2020 16:04:54
2
$att=$_product->get_attribute('pa_color'); // Obține atributul 'culoare' pentru produs

$values = wc_get_product_terms( $product->id, 'pa_color', array( 'fields' => 'all' ) ); // Obține toți termenii taxonomiei 'culoare' pentru produsul curent

foreach($values as $val){ // Iterează prin fiecare valoare a culorii
  echo "<pre>";
  var_dump($val->slug); // Afișează slug-ul culorii (format pentru depanare)
  echo "</pre>";
}
14 iul. 2018 18:58:10
Comentarii

Am folosit acest cod, afișează toate atributele, dar am nevoie doar de un anumit atribut.

Abhilesh Sharma Abhilesh Sharma
14 iul. 2018 19:02:37

@AbiSharma - Tocmai am găsit ceva legat de ceea ce cauți în întrebarea de mai jos... doar afișează valoarea variabilei folosind implementarea din discuția de mai jos. https://wordpress.stackexchange.com/questions/240283/get-product-attributes-for-current-product-and-store-it-in-a-variable

dhirenpatel22 dhirenpatel22
14 iul. 2018 21:30:32
0

Pentru a obține slug-ul atributului după ID-ul atributului:

$attribute_id = 3;
$attribute = wc_get_attribute($attribute_id);
echo $attribute->slug // exemplu, va returna pa_color
14 mar. 2025 19:38:59
1
-1

Folosește următoarele:

$attribute->get_name()
12 mar. 2019 10:09:05
Comentarii

Poți să dezvolți puțin de ce aceasta este o soluție? Ar trebui să postezi răspunsuri aici și nu doar soluții :)

Krzysiek Dróżdż Krzysiek Dróżdż
12 mar. 2019 10:39:05