Получить название ярлыка Атрибут продукта WooCommerce - PullRequest
2 голосов
/ 25 января 2020

Переменная / варианты в продуктах woocommerce.

Я могу сделать это, чтобы получить значение атрибута из pa_size: <?php echo $product_variation->get_attributes()['pa_size']; ?>, который находится где-то в /wp-admin/edit.php?post_type=product&page=product_attributes.

Но как мне получить метка pa_size (в данном случае «Размер»)? Попытался извлечь все, основываясь на post_type, page, а затем "term_group". Но это не сработает. Я вижу, что это обычно видно по умолчанию, но это нестандартное решение. Также в https://github.com/woocommerce/woocommerce/blob/3.8.0/templates/single-product/product-attributes.php я не вижу, где они печатают фактическую метку, только «Атрибут дочерней метки и значение». Но не фактический родитель (pa_size => Size).

Погуглил как мания c в течение нескольких часов.

Ответы [ 2 ]

2 голосов
/ 25 января 2020

Чтобы получить имя метки атрибута продукта WooCommerce, вы будете использовать один из 2 следующих способов:

1) Использование Woocommerce wc_attribute_label() выделенная функция:

$taxonomy   = 'pa_size';
$label_name = wc_attribute_label( $taxonomy );

2) Использование функции wordPress get_taxonomy():

$taxonomy   = 'pa_size';
$label_name = get_taxonomy( $taxonomy )->labels->singular_name;
0 голосов
/ 25 января 2020

В вашем случае вы уже знаете саму таксономию pa_size.

Все атрибуты продукта являются просто таксономиями, с префиксом pa_ заранее.

Тогда вы сможете напечатайте их, используя get_term_by()

, это должно выглядеть примерно так:

<?php
$term = get_term_by('slug', $product_variation->get_attributes()['pa_size'], 'pa_size');
echo $term->name;
?>
...