web-dev-qa-db-ja.com

現在のページIDを取得して、その直後にフックを初期化できるのはいつですか。

私はプラグインを開発していて、どのページユーザがいるのかを知っている必要があり、そのページに特定のフックとフィルタを追加する必要があります。
そして私の問題は、is_page()the_ID()wpwp_loadedinitのアクションの外では動作しないということです。それらの行動。
それで私の質問は、私がthe_ID()を呼び出すことができる魔女から何かフックがあるか、正しい結果を得るそしてその後 _そのページのための別のフックを追加することですか?それとも、PHPの$_SERVER['REQUEST_URI']を使ってonlyすることは可能ですか?

5
Danil Solodunov

投稿情報を取得するための最も初期の安全なフックはtemplate_redirectフックです。問題のフックはすべてWordpressがpostdataを設定する前に実行されるので、その時点ではまだ投稿情報は利用できません。

$wp_query$postのようなグローバルにはまだデータが含まれていないので、あなたの努力が何も返さない理由です。

編集

@TheDeadMedicによるコメントに基づく追加情報

実際のところwpは初期の、まだ安全なフックです - $post globalに頼るのではなくget_queried_object()を使うようにしてください

5
Pieter Goosen