get_all_page_ids() — возвращает IDы всех страниц на блоге

Функция возвращает массив, состоящий из ID всех страниц блога (имеется ввиду тип поста page).

get_all_page_ids()

Не имеет параметров.

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

$page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = 'page'");

Как видите статус страниц игнорируется, то есть в массив будут включены не только опубликованные страницы, но и черновики, и страницы, находящиеся в корзине.

Подробно про правильное составление запросов к базе данных в WordPress я пишу здесь.

Пример

Давайте выведем массив, полученный в результате:

print_r(get_all_page_ids());
// Array ( [0] => 9 [1] => 19 [2] => 2 [3] => 14 [4] => 20 [5] => 64 [6] => 271 [7] => 622 )

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

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...

  • Алексей: так надо комментарии в рубриках, а не на страницах в category.php а не в page.php

  • Миша: Здравствуйте! Сам WordPress это не поддерживает, но можно пойти хитрым путём. Первое, что пришло мне в голову, это:...

  • Алексей: Миша, здравствуйте! Подскажите, пожалуйста, что нужно, чтобы сделать комментарии на страницах рубрик. Я когда то давно...