首先,“pre\\u get\\u posts”是一个操作,而不是过滤器。这是开始时的主要问题。其次,需要为上下文设置条件。
add_action(\'wp\', \'custom_post_count\');
function custom_post_count($query){
if($query->is_home || $query->is_front_page){
$query->set(\'posts_per_page\', 5);
}
return $query;
};
上一个示例是,如果要在函数中使用此选项一次。php而不接触模板文件。就影响每个查询而言,如果不创建新查询,则每个循环都会继承pre\\u get\\u posts$查询。这就是我在下面的示例中使用query\\u posts()创建新查询的原因。
Custom Loops
这是我如何进行自定义循环的:
$args = array(
\'posts_per_page\' => 5
);
query_posts($args);
if(have_posts()): while(have_posts()): the_post();
endwhile; else:
endif;
wp_reset_query();
只需将query\\u posts()放在循环上方,将wp\\u reset\\u query()放在循环末尾。
希望这对您有所帮助。:)