Категории > Под категории > Под под категории > Запись

Как можно реализовать  такие категории?

при переходе
Главная > Русские авторы (категория)

Алфавитный указатель

  • А (под категория)
  • Б (под категория)
  • и т.д.

При переходе по одной букве  “А”
выглядеть будет так

Главная > Русские авторы (категория) > А (под категория)

на этой странице выводятся авторы на букву “А”

  • Аксаков Сергей Тимофеевич (под под категория)
  • Астафьев Виктор Петрович (под под категория)
  • Ахматова Анна (под под категория)

и тд.

Далее

Главная > Русские авторы (категория) > А (под категория) > Ахматова Анна (под под категория)

Выводиться список произведений..

  • "Вечер"
  • "Белая Стая"
  • и т.д.

и хотелось бы чтоб ЧПУ не потеряло ни один раздел

Главная > Русские авторы (категория) > А (под категория) > Ахматова Анна (под под категория) > “Вечер” (запись)


12 Комментарии

  1. в плане структуры – так и организуйте (создайте соответствующие категории, подкатегории, …)
    а в плане шаблона в файле category.php вашей темы сделайте следующее:

    ...
    $cat_id = get_query_var('cat');
    
    $catlist = wp_list_categories('echo=0&orderby=id&title_li=&child_of=' . $cat_id);
    
    if ($catlist) {
    //отображаем список субкатегорий текущей категории
    echo $catlist:
    } else {
    // здесь необходимо отражать список постов (произведений)
    }
    ...
    
    • Супер!!)
      как я и хотел.. буду оформлять теперь всё чтоб по красивее выглядело =)

      есть правда пару нюансов..

      на предпоследнем уровне иерархии:
      “Главная > Русские авторы (категория) > А (под категория) > Ахматова Анна (под под категория)
      Выводиться список произведений..

      • “Вечер”
      • “Белая Стая”
      • и т.д.”

      так и выводиться список произведений, но по мимо добавленных записей..
      выводит в самом верху ненужную запись “Рубрик нет”
      можно ли как то избавиться от неё?

      • попробуйте удалить фильтры перед получением субкатегорий:

        remove_all_filters('wp_list_categories');
        $catlist = wp_list_categories(‘echo=0&orderby=id&order=ASC&title_li=&child_of=’ . $cat_id);
        
        • я убрал запись “Рубрик нет”, но совсем уж не лучшем способом
          в самом движке wp-includescategory-template.php
          в 454 стр. ‘show_option_all’ => ”, ‘show_option_none’ => __(‘No categories’),
          удалил No categories
          черная метка так и осталась, можно в стилях убрать…

          Я не понял что делать с этой строчкой? куда или вместо чего ставить?

      • прошу прощения за дезинформацию
        сделайте так

                $catlist = wp_list_categories('show_option_none=&echo=0&orderby=id&order=ASC&title_li=&child_of=' . $cat_id);
        

        если прописали строчку

        remove_all_filters('wp_list_categories');
        

        то уберите

          • не везёт мне что то
            обновил WP до 3.0.3
            до этого был 3.0.2

            и большинство того что выводилось нормально не выводиться, а именно:
            Главная > Русские авторы (категория) > А (под категория) > Ахматова Анна (под под категория) > «Вечер» (запись)
            теряется одно звено в ЧПУ “Ахматова Анна (под под категория)”. и от этого и в “хлебных крошках” тоже теряется это же звено

            и когда находишься
            Главная > Русские авторы (категория) > А (под категория)
            должен показывать только список Авторов на букву А(под под категория), а записи не должен… но он показывает и то и другое ;(

            Чувствую придется забрасывать идею (до лучших времён), как то всё не складывается

    • я добавил в код ещё сортировку по алфавиту
      и есть маленькая опечатка в коде (строка 8, там вместо двоеточия нужно точку с запятой вставить, если оставить как есть вылазиет ошибка) , выкладываю на вся случай кому будет нужно исправлено дополненный

      
      

      код вставил вместо стандартного:

      
      
      • Прошу прощения код почему то не отобразился (
        вот код который получился:
        $cat_id = get_query_var(‘cat’);
        $catlist = wp_list_categories(‘echo=0&orderby=id&order=ASC&title_li=&child_of=’ . $cat_id);
        if ($catlist) {
        //отображаем список субкатегорий текущей категории
        echo $catlist;
        } else {
        // здесь необходимо отражать список постов (произведений)
        }

      • Может быть поискать фразу “Рубрик нет” в файле перевода WordPress и заменить ее, ну скажем, на многоточие?

      • лучше поздно чем никогда, может кому и пригодится:
        Пример моего кода

        wp_list_categories('use_desc_for_title=1&child_of='.$category->term_id.'&title_li=');

        за отключение надписи отвечает

        title_li='

        его лучше ставить в конец

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*