Woocommerce - отображать значения атрибутов в виде выпадающего поля - PullRequest
0 голосов
/ 01 сентября 2018

У меня вопрос по поводу woocommerce и его атрибутов. У меня есть около 10 атрибутов, таких как: скорость, вес, цвет, двигатель и т. Д. Я пытаюсь создать форму поиска на одной странице, и пользователь после заполнения / выбора нужных опций в полях выбора будет искать товары. ,

Тем не менее, я застрял с фрагментом кода, который должен создать такой выпадающий список (тот, который будет отображать ВСЕ ЗНАЧЕНИЯ определенного атрибута).

Код:

<?php
$subheadingvalues = get_the_terms( $product->id, 'pa_naped');
if ($subheadingvalues): ?>
<select>
    <?php foreach ( $subheadingvalues as $subheadingvalue ): ?>
        <option value="<?php echo $subheadingvalue->name; ?>">
            <?php echo $subheadingvalue->name; ?>
        </option>
    <?php endforeach; ?>
</select>

<?php endif; ?>

Основная проблема этого кода? Просто не работает - ничего не отображает. Я дважды проверил имя атрибута в woocommerce dashboard, и его имя действительно - pa_naped (engine). Почему это не работает?

Во-вторых, что если я хотел бы сделать то же самое, но для ВСЕХ выбранных мной атрибутов (упомянутых выше). Должен ли я сделать вид массива или STH?

1 Ответ

0 голосов
/ 02 сентября 2018

Чтобы получить все значения термина, вам нужно использовать get_terms()

поэтому ваши функции должны выглядеть следующим образом:

$subheadingvalues = get_terms('pa_naped', array(
'hide_empty' => false,
));
?> <select>
    <?php foreach ($subheadingvalues as $subheadingvalue): ?>
    <option value="<?php echo $subheadingvalue->name; ?>">
        <?php echo $subheadingvalue->name; ?>
    </option>
    <?php endforeach;?>
</select>

Ссылка

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