Задать вопрос
@ilyapokrov

Как изменить заголовок Woocommerce исходя из выбранных атрибутов?

Всем привет!

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

Надеюсь понятно объяснил =)

Этот код делает примерно следующий вид заголовка:
"Категория + Заголовок атрибута 1 (1 значение, 2 значение, ...)", Заголовок атрибута 2 (1 значение, 2 значение, ...)":
Платья Пол (Для женщин), Застежка (С пуговицами)

protected function formatAttributes($attributes)
    {
        $attributeStrings = [];
        /** @var FilterInterface $attribute */
        foreach ($attributes as $attribute) {
            $attribute->init();
            $items = $attribute->getActiveItems();
            $names = array_column($items, 'title');
            if (count($names)) {
                $attributeStrings[] = $attribute->getLabel() . ' (' . implode(', ', $names) . ')';

            }
        }

        return implode(', ', $attributeStrings);
    }


Мне нужен такой вид:
Платья для женщин с пуговицами

Я заметил, что если "getLabel" заменить на "init", то моя задача решается. Но тут подвох - не для всех атрибутов мне нужно удалить заголовки атрибута.

В итоге код должен быть примерно таким:
Если атрибут = Пол или Застежка, то не выводить заголовки атрибута, в остальных случаях выводить.

Можете подсказать, Что-то я совсем не догоняю.
  • Вопрос задан
  • 254 просмотра
Подписаться 2 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы