Есть ли что-то в этом запросе, что несовместимо с WordPress 2.9.2?
Я ломаю голову над этой проблемой уже два дня. До сих пор не могу разобраться.
Я тестирую выпуск темы в нескольких версиях WordPress, используя xampplite на localhost на ПК.
У меня возникает проблема в WP 2.9.2, которой нет в других, более новых установках WP.
Посмотрите на запрос ниже. Пока я оставляю закомментированную строку на месте, всё работает нормально. Однако, когда я раскомментирую строку, мой сервер Apache в xampplite падает. WTF?
$the_query = new WP_Query(array(
'posts_per_page' => 5,
'offset' => 0,
'order' => 'ASC',
'post__not_in' => get_option("sticky_posts"),
// 'cat' => get_cat_ID('top-menu'),
));
print "<p>header.php";exit;
Я даже пробовал жестко прописать атрибут cat статичным числом:
'cat' => 3
Он всё равно падает!
Это проблема с кодом, WordPress 2.9.2 или с моей настройкой Xamplite? Странно, что это работает во всех других, более новых версиях WP, которые у меня установлены на этом же компьютере.
Спасибо за подсказку, редактор. Это работает нормально в любом случае. Единственная проблема возникает, когда присутствует аргумент cat. Я уже два дня потратил на поиски решения, блин!

Первое, но честно говоря, я немного в замешательстве. Похоже, что WP устанавливает $query['posts_per_page'] равным $query['showposts'] в функции &get_posts(), как в версии 2.9, так и в 3.0 (http://core.trac.wordpress.org/browser/tags/3.0.5/wp-includes/query.php). Думаю, это все параметры запроса, перечисленные в fill_query_vars().

Осознаю, что это уже давно, но, возможно, поможет тем, кто нашел это через Google:
У меня были проблемы с падением Apache при выполнении подобного кода внутри функции, вызываемой через хук pre_get_posts. Проблема была в том, что я пропустил условие:
$query->is_main_query()
Это означало, что код выполнялся для всех запросов, а не только для основного. Добавление этого условия решило проблему. Полное условие, которое я использую (затем остальной код выше/ниже):
if ( ! is_category() || ! $query->is_main_query() || ! is_a( $query, 'WP_Query' ) )
return;
