Поддержка Проблемы и решения Выпадающий список с разбивкой на категории и посты.

  • Здравствуйте, всем!
    Скажите, пожалуйста, как лучше решить такую задачу:
    Необходимо в админке реализовать раскрывающийся иерархический список из категорий и соответствующих им постов. Пока у меня сделано так, в общем виде (в списке отображаются еще и страницы с типом page, они отделены чертой от постов):

    global $wpdb;
    
    $sql = 'SELECT id, post_title, post_type FROM wp_posts WHERE post_type="post" OR post_type="page" ORDER BY post_type';
    $res = $wpdb->get_results($sql, ARRAY_A) ; 
    
    <select name="list_page" width="200" tabindex="1">
       <? //
          foreach ($res as $name) {
    
          	if ($type != $name['post_type'] && $type != "" ) { ?>
          	   <option value="line"><? for ($i=0; $i<$max; $i++) {echo "_";}?></option>
          	<?}?>
          	<option value=".<?echo $name['id'];?>."><? echo $name['post_title'];?></option>
            <? $type = $name['post_type']; ?>
    
          <?}?>
    
        </select>

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • А что будете делать с записями, которые одновременно в нескольких рубриках? И в чем, собственно, суть вопроса? Что не так с вашим кодом?

    А что будете делать с записями, которые одновременно в нескольких рубриках?

    Спасибо за вопрос, я об этом не подумала.

    И в чем, собственно, суть вопроса? Что не так с вашим кодом?

    С кодом все в порядке.
    Вопрос: Сейчас записи отображаются в списке все подряд из всех категорий. Мне казалось, что если указать разбиение на категории, то пользователю будет проще ориентироваться в списке страниц, потому что это будет соответствовать иерархии страниц на сайте (этот список нужен для привязки страницы к картинке, для формирования рекламного блока на сайте). То есть
    Категория1
    Пост1
    Пост2
    Категория2
    Пост3
    Пост4
    Не знаю, как привязать категории к постам. Понятно, что категории можно вытянуть из таблицы, а дальше — как соответствие им постов организовать?

    Это слишком сложная структура, чтобы превратить ее в дерево, аналогичное страницам. Судите сами — есть рубрики родительские и дочерние, а записи могут одновременно находиться в в любом количестве рубрик одновременно. Как вы логически и непротиворечиво отобразите иерархическую и горизонтальную классификацию — я даже представить не берусь…

    Да, Вы правы. То есть решение отображать все посты по порядку в данной ситуации единственное верное?
    В связи с этим у меня такой немного отвлеченный вопрос: Если к примеру просто надо вывести в админке структуру (не будем исключать повторяющиеся записи, а выведем просто все, что есть):
    Категория1
    Пост1
    Пост2
    Категория2
    Пост3
    Пост4
    Каким образом привязать посты к соответствующим категориям. Просто я не вижу связи между таблицей постов и таблицами категорий. Возможно я чего-то не понимаю, объясните, пожалуйста , как это можно сделать.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Таблицы wp_posts и wp_terms связаны через wp_term_relationships и wp_term_taxonomy. Можно написать запрос с использованием этих таблиц или воспользоваться функцией get_posts().

    спасибо большое за ответ, буду пробовать.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Выпадающий список с разбивкой на категории и посты.» закрыта для новых ответов.