

function.php に下記の記述を追加しています。

seasonという固定ページで、リクエストパラメータ `y` の値を使い、channelカスタム投稿のカスタムフィールド `year`
にヒットする記事をすべて取得するメインクエリに書き換えたいです。

`$query->set` で意図する動作への書き換えは可能でしょうか？  
フックする関数は上記で問題ないでしょうか？ご教授ください。

[code]

    add_action( 'init', 'my_init' );
    function my_init() {
        global $wp;
        $wp->add_query_var( 'y' );
    }
    add_action( 'pre_get_posts', 'my_pre_get_posts' );
    function my_pre_get_posts( $query ) {
        if ( $query->is_page('season') && is_main_query()) {
    
            $year = get_query_var('y');
            if ($year) {
              // ここに書きたい
            }
        }
    }
    
[/code]


CC BY-SA 4.0
2015-01-22T03:37:32.810
5037
2022-08-07T15:56:49.457
2022-08-07T15:56:49.457
3060
5839
question
php wordpress
Wordpressのメインクエリを固定ページで変更したい


固定ページでのメインクエリを書き換え、他の投稿のクエリに差し替えるのは行儀がいいとは言えないので サブクエリで実現するようにしました。

* * *

_この投稿は[@hata
さんのコメント](https://ja.stackoverflow.com/questions/5037/wordpress%e3%81%ae%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%af%e3%82%a8%e3%83%aa%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%a7%e5%a4%89%e6%9b%b4%e3%81%97%e3%81%9f%e3%81%84#comment3726_5037)
の内容を元に コミュニティwiki として投稿しました。_


CC BY-SA 4.0
2020-06-22T02:29:05.630
67889
2020-06-22T02:29:05.630
3060
5037
answer