私はregister_nav_menus()
が呼ばれるのをいろいろ見ました。
after_setup_theme
上init
についてfunctions.php
に "loose"を貼り付けた機能に明らかな変化はありません。
この関数を呼び出すためにどのフックを使うべきですか?
まず、functions.php
に関数looseを登録することはできません。それらを削除することはできないからです(remove_action
を使用)。 WPはまだ安定していない可能性があるため、デバッグエラーも発生する可能性があります。フックを使用することで、WPがコードを実行するのに十分安定していること、および使用する必要があるものがロードされていることを確認できます。
Wordpressフォーラム の詳細については、答えをチェックしてください。
どのフックを使用するかを決めるには、最初に この答えをチェックしてください 。
両者の主な違いは:
after_setup_theme
で認証されていませんinit
で認証されます。したがって、after_setup_theme
フックは明らかにinit
の前に実行されます。これは アクションリファレンス で確認できます。
after_setup_theme
のWordpress Codexページによると、
このフックは、テーマが初期化された後、各ページの読み込み中に呼び出されます。一般的には基本的な設定、 registration 、そしてテーマに対するinitアクションを実行するために使われます。
あなたはメニューを登録しているので、私はafter_setup_theme
を使うことを勧めます。 register_nav_menu()
の Wordpress Codex も、例の1つでafter_setup_theme
フックを使用しています。
あなたはそれらが利用可能になった瞬間、すなわちfunctions.php
がロードされるとすぐにそれらを使うことができます。
フックafter_setup_theme
を使う - 私は "事実上の"方法に固執することをお勧めします
register_nav_menu
のドキュメントでは、after_setup_theme
フックを使った例を示しています。
このフックは、テーマが初期化された後、各ページの読み込み中に呼び出されます。通常、テーマの基本的な設定、登録、および初期化アクションを実行するために使用されます。
... initフックの前に実行されるafter_setup_themeフック。 initフックは、サポート投稿のサムネイル表示など、一部の機能には遅すぎます。