Получить атрибуты продукта woocommerce на боковой панели - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу отобразить все доступные атрибуты товара на боковой панели woocommerce.В соответствии с дизайном и плагинами, которые я использую, здесь трудно использовать поля виджетов. Поэтому я решил зациклить все доступные атрибуты продукта и показать их на боковой панели.

Я попробовал следующие методы, которые доступны наwoocommerce документы ,

  1. get_attribute ()
  2. get_attributes ()
  3. get_variation_attributes ()

А такжеas также попробовал некоторые ответы из стека.

global $product;
$product->get_attributes();

Но я все еще получаю пустой массив.

Моя боковая панель включена в архивную страницу woocommerce .Как получить имя атрибута и его значения?

1 Ответ

0 голосов
/ 12 декабря 2018

Вы можете использовать специальную функцию wc_get_attribute_taxonomies() Woocommerce в пользовательской функции шорткода, которая выведет список всех атрибутов продукта.

Затем вы сможете добавить его в текстовый виджет на боковой панели (см. В конце) .

Шорткод [product_attributes] код:

add_shortcode( 'product_attributes', 'get_product_attributes' );
function get_product_attributes() {
    $output = '<ul style="list-style:none;">';
    foreach( wc_get_attribute_taxonomies() as $attribute ) {
        $taxonomy = 'pa_' . $attribute->attribute_name;
        $term_names = get_terms( array( 'taxonomy' => $taxonomy, 'fields' => 'names' ) );

        $output .= '<li><strong>' . $attribute->attribute_label . ':</strong> ' . implode( ', ', $term_names ) . '</li>';
    }
    return $output . '</ul>';
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.


Затем вы добавите новый текстовый виджет в боковую панель и вставите шорткод в текстовый редактор, чтобы получить список атрибутов продукта…

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...