Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Все категории верхнего уровня

Тема в разделе "Вопросы новичков", создана пользователем sanchahous, 22 янв 2015.

  1. sanchahous

    sanchahous

    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Мне нужно вывести на каждой странице сайта на woocommerce ссылки на все категории верхнего уровня динамически. Без подкатегорий.
    Виджет Woocommerce категории товара не подходит так как выводит все категории верхнего уровня только на главной странице. А мне нужно вывести в шапке на всех страницах.
    Вот ссылка http://centrdereva.com/category/lorem
    В шапке есть каталог - там сейчас категории прописанные в ручную. А нужно динамически.
    На главной http://centrdereva.com встроен виджет Woocommerce категории товара Но в шапку для всех страниц его встроить не получается.
     
  2. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    В шапку всех страниц его можно встроить следующим образом
    в коде в том месте где тебе нужно вставляешь
    <?php the_widget( 'WC_Widget_Product_Categories', "show_children_only=1" ); ?>
     
    • Нравится Нравится x 1
  3. sanchahous

    sanchahous

    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Так не работает. Если я захожу на страницу категории то в шапке этот виджет отображает подкатегории данной категории. А мне нужно просто вывести все категории верхнего уровня на любой странице.
    Может есть какой-то вариант?
     
  4. rikitiki

    rikitiki Местный

    Сообщения:
    749
    Симпатии:
    184
    Баллы:
    43
    Нечего не понял. Что значит динамически. В настройах меню есть категории товаров. Вставьте из него только пункты верхнего уровня. Можете создать ещё одно меню в хеадере. И вставить эти пункты туда
     
  5. redjek

    redjek Местный

    Сообщения:
    155
    Симпатии:
    36
    Баллы:
    28
    замудрил =) что мешает сделать меню, и вставить туда родительские категории
    картинка
     
  6. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    Может нужно это делать динамически...
    попробуй так.
    в functions.php добавть этот код
    Код:
    function get_top_cat () {
      $taxonomy     = 'product_cat';
      $orderby      = 'name'; 
      $show_count   = 0;      // 1 for yes, 0 for no
      $pad_counts   = 0;      // 1 for yes, 0 for no
      $hierarchical = 1;      // 1 for yes, 0 for no 
      $title        = ''; 
      $empty        = 0;
    $args = array(
      'taxonomy'     => $taxonomy,
      'orderby'      => $orderby,
      'show_count'   => $show_count,
      'pad_counts'   => $pad_counts,
      'hierarchical' => $hierarchical,
      'title_li'     => $title,
      'hide_empty'   => $empty
    );
    $all_categories = get_categories( $args );
    //print_r($all_categories);
    foreach ($all_categories as $cat) {
        //print_r($cat);
        if($cat->category_parent == 0) {
            $category_id = $cat->term_id;
    
            echo '<br /><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a>';
    
    
    
    
    
    }    
    }
    }
    
     
    в том месте в шаблоне где хочешь выводить категории верхнего уровня пиши

    get_top_cat ();
     
    • Нравится Нравится x 2
  7. sanchahous

    sanchahous

    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Щас попробую. Дело в том, что думаю это будет удобно для всех. Если изначально не известно общее количество категорий, то потом если добавится новая категория верхнего уровня, то она автоматически добавится в список, а так придется каждый раз переделывать список в ручную. Это пояснение, почему нужно динамически.

    в том месте в шаблоне где хочешь выводить категории верхнего уровня пиши
    get_top_cat ();

    Таки сработало, действительно) Спасибо большое