当我的脚本运行WP 2.9.2中下面的第4行时,它会导致我的web应用抛出“Apache HTTP服务已停止工作”错误
$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\')));
您是否在第四行中看到与WP 2.9.2不兼容的内容?代码在WP 3.0.4下的同一服务器上运行良好
以下是错误的详细信息:
问题签名:问题事件名称:APPCRASH应用程序名称:httpd。exe应用程序版本:2.2.14.0应用程序时间戳:4aeb9704故障模块名称:php5ts。dll故障模块版本:5.3.1.0
SO网友:Stephen Cronin
现在认识到这一点,但这可能有助于人们通过谷歌找到这一点:
当在由pre_get_posts hook. 问题是我错过了条件:
$query->is_main_query()
这意味着它可以处理所有的查询,而不仅仅是主查询。加上这个,我就解决了这个问题。我使用的完整条件是(然后是下面的其他代码:
if ( ! is_category() || ! $query->is_main_query() || ! is_a( $query, \'WP_Query\' ) )
return;