Există CEVA în această interogare care este incompatibil cu WordPress 2.9.2?
Mă chinui cu asta de două zile. Încă nu pot să-mi dau seama.
Testez o versiune de temă în multiple versiuni de WordPress folosind xampplite pe localhost pe un PC.
Am o problemă pe WP 2.9.2 care nu apare în niciunele alte instalări mai noi de WP.
Uită-te la interogarea de mai jos. Cât timp las linia comentată în loc, funcționează bine. Totuși, când decomentez linia, îmi crapă serverul 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;
Am încercat chiar să hardcodez atributul cat la un număr static:
'cat' => 3
Tot crapă!
Este o problemă cu codul, cu wordpress 2.9.2 sau cu configurația mea Xamplite? Pare ciudat că funcționează în toate celelalte versiuni mai noi de WP pe care le-am instalat pe aceeași mașină.
Mulțumesc pentru editorul de input. Funcționează bine cu oricare. Singura problemă pe care o are este când argumentul cat este prezent. Am pierdut două zile ca să depanez asta, aaargh!

Prima variantă, dar de fapt cam ghicesc. Se pare că WP va seta $query['posts_per_page'] la $query['showposts'] în funcția &get_posts(), în ambele versiuni 2.9 și 3.0 (http://core.trac.wordpress.org/browser/tags/3.0.5/wp-includes/query.php). Cred că asta sunt toți parametrii query enumerați în fill_query_vars().

Realizez că aceasta este o informație veche, dar poate ajuta oamenii care o găsesc prin Google:
Am avut probleme cu Apache care se închidea când rulează cod similar într-o funcție apelată de hook-ul pre_get_posts. Problema a fost că am uitat condiția:
$query->is_main_query()
ceea ce însemna că executa operații pentru toate interogările, nu doar pentru cea principală. Adăugarea acestei condiții a rezolvat problema pentru mine. Condiția completă pe care o folosesc este (apoi alte coduri deasupra și dedesubt):
if ( ! is_category() || ! $query->is_main_query() || ! is_a( $query, 'WP_Query' ) )
return;
