Поддержка Проблемы и решения Помогите с меню WordPress

  • Здравствуйте уважаемые форумчяни, очень нужна ваша помощь, разобраться с меню WordPress. Так вот на главной странице и на странице page в сайдбаре должны выводиться только родительские категорий:

    Категория1
    Категория2
    Категория3

    Но когда мы переходим по любой из родительских категорий, например Категорий1, то на странице архива должно выводиться меню уже так:

    Категория1
    Подкатегория1.1
    Подкатегория1.2
    Подкатегория1.3

    Соответственно такое же меню должно быть и при переходе на любую из подкатегорий, думаю ясно.

    И еще когда мы открываем любой пост, то на странице single должно быть такое же меню что и в архиве.

    В сайдбаре есть код, который на локале как бы выполняет все мои требования, но при переносе на хостинг почему-то меню на странице поста (в single) пропадает вообще. Вероятно, что в коде есть какие-то ошибки или хостинг виноват. Очень нужна ваша помощь помогите разобраться исправить код может. Заранее благодарен. А вот сам код:

    <?php if (is_home())
    {
    echo (wp_list_categories(«orderby=name&title_li=&hierarchical=1&depth=1»));
    }
    ?>

    <?php
    if ( is_category() ) {
    $cur_category = get_term_by( ‘slug’, get_query_var(‘category_name’),
    ‘category’);
    $categories = get_categories( array( ‘parent’ =>
    $cur_category->term_id ) );
    if (!$categories) $categories = get_categories( array( ‘parent’ =>
    $cur_category->parent ) );
    foreach ($categories as $category) {
    $res = ‘

    • <a href=»‘.get_category_link(
      $category->term_id ).'»>’;
      $res .= $category->cat_name;
      $res .= ‘

    ‘;
    echo $res;
    }
    }
    if ( is_single() ) {
    $allowed_cats = array( ’14’, ’15’, ’41’, ’42’, ’48’, ’10’, ’19’, ’22’, ’20’, ’23’, ’12’, ’13’, ’17’, ’45’, ’21’ , ’30’, ’35’, ’37’, ’40’);
    $post_cat = wp_get_post_categories($GLOBALS[‘post’]->ID);
    if ( count($post_cat) == 1 && in_array( $post_cat[0], $allowed_cats ) )
    {
    $cur_category = get_term_by( ‘id’, $post_cat[0], ‘category’);
    $categories = get_categories( array( ‘parent’ =>
    $cur_category->term_id ) );
    if (!$categories) $categories = get_categories( array( ‘parent’ =>
    $cur_category->parent ) );
    foreach ($categories as $category) {
    $res = ‘

    • <a href=»‘.get_category_link(
      $category->term_id ).'»>’;
      $res .= $category->cat_name;
      $res .= ‘

    ‘;
    echo $res;
    }
    }
    }
    ?>

Просмотр 1 ответа (всего 1)
  • Код смотреть нет времени.
    В вашем случае может помочь плагин «Dynamic Widgets». Создайте разные меню и настройте их вывод. Это самое простое решение.

Просмотр 1 ответа (всего 1)
  • Тема «Помогите с меню WordPress» закрыта для новых ответов.