2011-02-08 3 views
0

Четвертая строка ниже создает ошибку «Apache HTTP Server Stopped Working» в моем приложении. Кто-нибудь видит все, что выделяется?Вызов WP_query вызывает фатальную ошибку

$cat=get_cat_ID('top-menu'); 
$catHidden=get_cat_ID('hidden'); 
$myqueryCurrent = new WP_Query(); 
$myqueryCurrent->query(array('cat' => "$cat,-$catHidden",'post__not_in' => get_option('sticky_posts'))); 

Это работает под WordPress 2.9.2 Тот же код в 3.0 работает нормально. PHP является версия 5.3.1

ответ

0

Скотт,

Опять же, нам нужно идти глубже. Было бы полезно иметь фактический запрос mysql, который создается объектом WP_Query.

Можете ли вы добавить больше отладочного вывода в класс WP_Query в методе -> query.

Кроме того, вы можете проверить, что get_option ('sticky_posts') возвращает список, разделенный запятой?

+0

@ Nayena: Будет делать. Спасибо за ввод. –

+0

var_dump (get_option ('sticky_posts')); возвращает массив (1) {[0] => int (9)} –

0

Чтобы облегчить отладку - включите режим отладки в wp-config.php в корневой папке WordPress - я знаю, что у меня были проблемы с apache, делая глупые вещи, если у меня была какая-либо ошибка.

Если эта функция включена, пожалуйста, проверьте (как упоминалось выше), что все вы пытаетесь использовать в запросе на самом деле возвращает материал

+0

Я могу повторить все элементы. Когда я печатаю и выхожу непосредственно перед myqueryCurrent, код выполняет штраф до этой точки. Однако, когда я устанавливаю оператор print/exit непосредственно под запрос, я получаю ошибку apache. –

+0

Вы включили отладку? Это может привести к некоторой ошибке. Если вам повезло, попробуйте проверить файлы журнала для apache - они всегда показывают, почему вы получаете ошибки :-) –

+0

Я использую этот сайт с WP_Debug true. Проблема в том, что это, по-видимому, сбой на PHP.ini и никогда не попадает в диспетчер отладки WP. –

Смежные вопросы