書き換えシステムとカスタムのpost_typesを少し変更していますが、続行する前にWordPressが書き換えをどのように処理するかを調べなければなりません。
私は関数url_to_postid()を見つけましたが、WordPressそれ自身はパーマリンクをクエリに解決するためにそれを使うことを継ぎ合わせませんか?
たとえば、pre_get_post関数にフックしてページまたはカスタムのpost_typeを参照すると、提供されるクエリに "is_page"や "attachment"などが含まれますが、ランダムにURLを入力する場合、このデータは表示されません。 URLがページ| posttype |添付ファイルかどうかWordPressはどこでわかりますか?そして、どうすればこれに取り組むことができますか?
Action Reference を見ると、pre_get_posts
の前に実行されたすべてのアクションが表示されます。おそらく調査する必要がある2つは、 parse_request
と parse_query
です(はい、ドキュメントにはありません) 。
おそらく最も関心のある部分はparse_request
で、書き換えルールは要求されたURIと照合されます。 ここでソースをご覧ください 。
フロントエンド要求が発生すると、ファイルwp-blog-header.php
がロードされ、 wp()
が呼び出され、WP
class /の main()
メソッドが呼び出されます。 、 parse_request()
メソッドを呼び出します。その関数の下部で、 parse_request
アクションが実行される場所を確認します 。
編集
コーデックスの詳細情報については、コーデックスの次のページも参照してください。 QueryOverview