The argument isn\'t category
, it is cat
. 查询失败,因为您使用的参数不存在。
$args = array(
\'post_type\' => \'post\' ,
\'orderby\' => \'date\' ,
\'order\' => \'DESC\' ,
\'posts_per_page\' => 6,
\'cat\' => \'3\',
\'paged\' => get_query_var(\'paged\'),
\'post_parent\' => $parent
);
$q = new WP_Query($args);
if ( $q->have_posts() ) {
while ( $q->have_posts() ) {
$q->the_post();
// your loop
}
}
请注意,我已将您的
query_posts()
进入一个新的
WP_Query
对象不使用
query_posts()
, 曾经就连法典也这么说。
注意:此功能不适用于插件或主题。如后文所述,有更好、性能更好的选项来更改主查询。query\\u posts()是一种过于简单且有问题的方法,通过将页面的主查询替换为新的查询实例来修改它。它效率低下(重新运行SQL查询),并且在某些情况下会彻底失败(尤其是在处理POST分页时)。任何现代的WP代码都应该使用更可靠的方法,比如使用pre\\u get\\u posts钩子。
http://codex.wordpress.org/Function_Reference/query_posts
还要注意的是,我删除了不必要的PHP开始和结束标记,并格式化了代码以提高可读性。那个
alternative control structure syntax 根据我的经验,这是一个失败的公式。