• Доброго времени суток!

    Недавно увлекся программированием, решил ко всему прочему попробывать поковырять кое что и на WordPress.

    Вообщем задача стоит такая, меняю уже готовую тему, и чуть переделал вывод категорий через Custom Menu. Нужно каждой категории свой unique color background присвоить, задается это все через админку.

    Теперь хочу привязать это все на сайте, чтоб на автомате было, но ничего не получается.

    Кручусь вокруг foreach, но наверное это ошибка.

    Извращаюсь вот так(выводит все все цвета на одну ссылку, в итоге у каждой категории по 7 цветов, а показан только цвет последней):

    $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
              $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
    
            $categors = get_categories($args);
    
            foreach ($categors as $categor){
                $options = get_option("taxonomy_" . $categor->slug);
                $bgcolor = ' style="background-color: ' . esc_attr($options['color']) . ';"';
                if(!($this->tw_type==='post'&&$depth>1)){
                    $string = $indent . '<li' . $id . $value . $class_names;
                }
                $output .= $string . $bgcolor . '>';
            }

    Вот так пробовал(выводит цвет первой категории и привязывается ко всем соот.):

    $categors = get_categories($args);
    
            $bgcolor = '';
            foreach ($categors as $categor){
                $options = get_option("taxonomy_" . $categor->slug);
                $getcolor = ' style="background-color: ' . esc_attr($options['color']) . ';"';
                $bgcolor .= $getcolor;
            }
    
              $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
              $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
              if(!($this->tw_type==='post'&&$depth>1)){$output .= $indent . '<li' . $id . $value . $class_names . $bgcolor .'>';}

    А вот так выводит только последний цвет категории и соот. у всех категорий отображается последний цвет:

    $categors = get_categories($args);
    
            $bgcolor = '';
            foreach ($categors as $categor){
                $options = get_option("taxonomy_" . $categor->slug);
                $getcolor = ' style="background-color: ' . esc_attr($options['color']) . ';"';
                $bgcolor .= $getcolor;
            }
    
              $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
              $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
              if(!($this->tw_type==='post'&&$depth>1)){$output .= $indent . '<li' . $id . $value . $class_names . $bgcolor .'>';}

    Ищу специалиста кто не просто решит проблему, а объяснит как в таких ситуациях надо выходить из положения.

    Бюджет скромный

Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)
  • Тема «Ищу специалиста, который объяснит и поможет решить проблему» закрыта для новых ответов.