ВОПРОС
Всем здравствуйте. Я использую всем известное расширение WooCommerce. В нем мне нужно получить значения настраиваемых атрибутов товаров. Я перепробовал множество различных вариаций кода, но они не сработали.
Насколько мне известно, необходимые значение отображаются в специальном разделе, но с моим кодом их не получается вывести.Полезно : Оптимизация картинок и ссылок на сайте WordPress(Откроется в новой вкладке браузера)
ОТВЕТ
Есть вариант решения этой проблемы. Но дело в том, что они могут вызвать массу ошибок. Я немного подумал о поиске правильного метода для вас и предлагаю использовать этот код:
function myplug_get_prod_attrs() {
// Enqueue scripts happens very early, global $product has not been created yet, neither has the post/loop
global $product;
$wc_attr_objs = $product->get_attributes();
$prod_attrs = [];
foreach ($wc_attr_objs as $wc_attr => $wc_term_objs) {
$prod_attrs[$wc_attr] = [];
$wc_terms = $wc_term_objs->get_terms();
foreach ($wc_terms as $wc_term) {
array_push($prod_attrs[$wc_attr], $wc_term->slug);
}
}
return $prod_attrs;
}
Также если вы воспользуетесь моим кодом, то для создания глобального элемента $product, можно взять такую строчку:
$product = wc_get_product(get_queried_object_id());