как получить slug атрибута товара WooCommerce

14 июл. 2018 г., 18:24:15
Просмотры: 45.4K
Голосов: 7

Я пытаюсь получить slug атрибута товара. Я использовал код ниже, но он отображает только имя.

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

Я работаю с файлом woocommerce/cart/cart.php в папке темы.

Также я заметил, что он отображается в URL якорной ссылки изображения товара на странице корзины, но не могу его получить

якорная ссылка: https://example.com/productos/sweatshirt/?attribute_pa_color=aa2757&attribute_pa_talla=m

Я работаю над этим с сегодняшнего утра, но не добился успеха. Пожалуйста, подскажите.

пример отображения атрибутов товара WooCommerce

0
Все ответы на вопрос 4
1

Я получил это...

Чтобы получить slug, используйте:

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

Спасибо всем за помощь.

15 июл. 2018 г. 20:41:39
Комментарии

Это возвращает WC_Product_Attribute. Поэтому правильный ответ на этот вопрос — написать (после вашего кода): $pa_color->get_slugs() А если вам нужен первый слаг — как обычно бывает: $pa_color->get_slugs()[0].

Peter Højlund Andersen Peter Højlund Andersen
8 мая 2020 г. 16:04:54
2
// Получаем значение атрибута 'pa_color' для текущего товара
$att=$_product->get_attribute('pa_color');

// Получаем все термины таксономии 'pa_color' для текущего товара
$values = wc_get_product_terms( $product->id, 'pa_color', array( 'fields' => 'all' ) );
// Перебираем все значения терминов
foreach($values as $val){
  echo "<pre>";
  // Выводим slug каждого термина
  var_dump($val->slug);
  echo "</pre>";
}
14 июл. 2018 г. 18:58:10
Комментарии

Я использовал этот код, он показывает все атрибуты, но мне нужен только один соответствующий атрибут.

Abhilesh Sharma Abhilesh Sharma
14 июл. 2018 г. 19:02:37

@AbiSharma - Я только что нашел что-то связанное с тем, что вы ищете, в следующем вопросе... просто отобразите значение переменной, используя реализацию из этой темы. https://wordpress.stackexchange.com/questions/240283/get-product-attributes-for-current-product-and-store-it-in-a-variable

dhirenpatel22 dhirenpatel22
14 июл. 2018 г. 21:30:32
0

Чтобы получить slug атрибута по его ID:

$attribute_id = 3;
$attribute = wc_get_attribute($attribute_id);
echo $attribute->slug // например, вернет pa_color
14 мар. 2025 г. 19:38:59
1
-1

Используйте следующее:

$attribute->get_name() // Получить название атрибута
12 мар. 2019 г. 10:09:05
Комментарии

Не могли бы вы немного подробнее объяснить, почему это решение работает? Следует публиковать здесь ответы, а не только решения :)

Krzysiek Dróżdż Krzysiek Dróżdż
12 мар. 2019 г. 10:39:05