Поддержка Проблемы и решения Как получить ID всех постов в категории?

  • Нужно получить список ID всех постов в конкретной категории блога.

    Постов много, устроил бы простой список одна строка один ID

    Как это сделать?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • 1) Правильно наверное написать запрос к БД пользовательский.

    2) Неправильно можно сделать навренео через query_posts

    Что-то вроде такого

    query_posts('cat=1&limit=999')
    $postsID = array;
    [цикл]
    $postsID[] = [ID_итерации]
    [конец цикла]

    Синтаксис цикла функцию возврата текщего ID ищите в шаблоне.
    Т.е. у нас query_posts выберет все посты из категории и дальше в цикле в массив запишутся все ID. Правильнее разобраться с 1 вариантом.

    Вопрос решен очень просто: временно в админке

    Настройки > Постоянные ссылки (ЧПУ)

    поставил отображать посты как Произвольная структура /%post_id%/

    Заходим в «Оперу»,
    открываем страницу категории,
    жмем в Опере ctrl+shift+L (показать ссылки с этой страницы)
    и получаем список прямых линков на посты этой категории.
    Запихиваем в блокнот и чистим урлы. Получены номера постов.

    Запихиваем в блокнот и чистим урлы. Получены номера постов.

    а если локомотив обработать напильником — получим вертолет.

    function get_ids_bycat( $id ){
    global $wpdb;
        $data = $wpdb->get_results("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id='$id'");
        return $data[0];
    }

    вот это и есть cписок id постов по id категории

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Как получить ID всех постов в категории?» закрыта для новых ответов.