質問: new wp_query('page_id=146'); $query->set('page_id', 146); } } return $query; }; それはthe loopにまったく影響を与えないようです、私は何を間違っていますか?
回答: これはうまくいくように思えますが、それがこの種の上書きを提供するための「正しい」方法であるならば、私は他人からのヒアリングに興味があるでしょう。 http://www.example.com/category/computers/ のようなカテゴリアーカイブページにアクセスしているとします。// landing page = 188 // category = "computers" (#8) function custom_wpquery( $query ){ // the main query global $wp_the_query; if ( 'computers' === $query->get( 'category_name' ) ) { if ( $wp_the_query === $query) { // reset and override the active query $query->init(); $query->query( 'page_id=188' ); } } }; add_filter( 'pre_get_posts', 'custom_wpquery' ); これはおそらく$query->is_archiveもテストするはずです。