Cómo obtener el slug del atributo de un producto en WooCommerce

14 jul 2018, 18:24:15
Vistas: 45.4K
Votos: 7

Estoy tratando de obtener el slug del atributo de un producto. He usado el siguiente código pero solo muestra el nombre.

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

Estoy trabajando en el archivo woocommerce/cart/cart.php dentro de la carpeta del tema.

También noté que aparece en la URL del ancla de la imagen del producto en la página del carrito pero no logro obtenerlo

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

He estado trabajando en esto desde esta mañana pero no he tenido éxito. Por favor, oriéntenme.

Captura de pantalla mostrando el código WooCommerce para obtener atributos de producto

0
Todas las respuestas a la pregunta 4
1

Lo tengo...

Para obtener el slug usa:

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

Gracias a todos por ayudarme.

15 jul 2018 20:41:39
Comentarios

Esto retorna un WC_Product_Attribute. Así que la respuesta correcta a esta pregunta es escribir (después de tu código): $pa_color->get_slugs() Y si quieres el primer slug - como normalmente harías: $pa_color->get_slugs()[0].

Peter Højlund Andersen Peter Højlund Andersen
8 may 2020 16:04:54
2
// Obtener el atributo 'color' del producto
$att=$_product->get_attribute('pa_color');

// Obtener todos los términos de la taxonomía 'pa_color' para el producto actual
$values = wc_get_product_terms( $product->id, 'pa_color', array( 'fields' => 'all' ) );

// Recorrer cada valor del atributo color
foreach($values as $val){
  echo "<pre>";
  // Mostrar el slug (identificador único) de cada valor de color
  var_dump($val->slug);
  echo "</pre>";
}
14 jul 2018 18:58:10
Comentarios

Usé este código, muestra todos los atributos pero necesito solo un atributo respectivo.

Abhilesh Sharma Abhilesh Sharma
14 jul 2018 19:02:37

@AbiSharma - Acabo de encontrar algo relacionado con lo que estás buscando en la siguiente pregunta... solo muestra el valor de la variable usando la implementación del hilo a continuación. https://wordpress.stackexchange.com/questions/240283/get-product-attributes-for-current-product-and-store-it-in-a-variable

dhirenpatel22 dhirenpatel22
14 jul 2018 21:30:32
0

Para obtener el slug de un atributo por su ID:

$attribute_id = 3;
$attribute = wc_get_attribute($attribute_id);
echo $attribute->slug // por ejemplo, devolverá pa_color
14 mar 2025 19:38:59
1
-1

Usa lo siguiente:

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

¿Podrías elaborar un poco por qué esta es una solución? Deberías publicar respuestas aquí y no solo soluciones :)

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