この記事で概説するように、渡される特定のクエリ変数に応じて特定のテンプレートをロードするプラグインを作成しています。実際には、フロントエンドにプラグインのページを作成します。
データベースにページを追加せずにページを作成する - Brian Fegterによる最初の回答
だからmysite.com/foobarに行けば私のカスタムテンプレートを使うことができる。ただし、関数をwp_headにフックしてページ付きのquery_varを出力すると、URLの値(mysite.com/foobar/page/2など)にかかわらず、常に0が返されます。
なぜこれが起こっているのかについて何か考えはありますか?私のプラグインがフロントエンドに新しいページを作成するためのより良い方法はありますか?
前もって感謝します。
私はこれを自分で解決しました。問題は
add_rewrite_rule('^foobar?','index.php?is_foobar_page=1','top');
これにより、他のquery_varsが作成されなくなります。これを解決するために、もう少し複雑な書き換え規則コンボを設定します。
add_rewrite_rule('^foobar?$','index.php?is_foobar_page=1','top');
add_rewrite_rule('foobar/page/([0-9]+)?$','index.php?is_foobar_page=1&paged=$matches[1]','top');
これは、プラグインのサブページ 'foobar'の作成を考慮に入れ、このページ内のページ付けも可能にします。
これが誰かに役立つことを願っています。