質問: get_posts('tag__in' => array($tag)); foreach($myposts as $post) : setup_postdata($post); 私は、1ページに11件の投稿のフィルタを設定し、特定のタグを検索し、その投稿をその配列のタグに設定してから、それに応じて投稿を設定することを考えました。 get_posts()を実行したばかりです。それは1ページあたり11の投稿をフィルタリングせずに返しますので、私はchipのコードが問題なく動作することを知っています。関数がどのように正しく呼び出されるのかまだ理解できていないと思います....
回答: 最新バージョンのwp(4.4以降)で何かが変更されたかどうかはわかりませんが、is_main_query()はそのままfalse positiveを返します。そのはず:function wpse63424_filter_pre_get_posts( $query ) { if ( ! $query->is_main_query() ) { return $query; } else { if ( is_category() || is_tag() ) { $query->set( 'posts_per_page',11 ); } return $query; } } add_filter( 'pre_get_posts', 'wpse63424_filter_pre_get_posts' );