wp_loaded フックの使い方|説明・引数・注意点

説明

wp_loaded は、WordPress、プラグイン、テーマの読み込みがすべて終わった後に実行されるアクションです。

基本構文

do_action( 'wp_loaded' )

引数

引数はありません。

戻り値

引数はありません。

使い方(サンプル)

add_action( 'wp_loaded', function() {
	// 全ての読み込みが完了
} );

注意点

  • init の後に実行されます。

実務での使いどころ

  • WordPress、すべてのプラグイン、テーマの読み込みが、終わった後に、処理を行うとき。
  • init の後で、リクエストを解析する前の処理を、行うとき。

よくあるミスと対処

  • 条件分岐タグ(is_page() など)を使っている。このフックの時点では、まだクエリが決まっておらず、判定できない。条件分岐は、template_redirect 以降で使う。
  • 投稿タイプの登録に使っている。登録は、init フックで行う。

NG例

add_action( 'wp_loaded', function () {
	if ( is_front_page() ) { // クエリが決まっておらず、判定できない
		// ...
	}
} );

OK例

add_action( 'template_redirect', function () {
	if ( is_front_page() ) {
		// 条件分岐が使える
	}
} );

使い分け早見表

フック 実行されるタイミング(早い順)
init WordPressの初期化が、終わったとき
wp_loaded すべての準備が、終わったとき
template_redirect テンプレートを選ぶ前(条件分岐タグが使える)

関連項目

init、plugins_loaded

公式リファレンス:wp_loaded | WordPress Developer Resources

コメント

タイトルとURLをコピーしました