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

説明

plugins_loaded は、すべての有効なプラグインが読み込まれた直後に実行されるアクションです。

基本構文

do_action( 'plugins_loaded' )

引数

引数はありません。

戻り値

引数はありません。

使い方(サンプル)

add_action( 'plugins_loaded', 'my_plugin_init' );

注意点

  • 他のプラグインの機能に依存する処理は、ここで実行します。
  • 翻訳ファイルの読み込みには向きません(init 以降が推奨)。

実務での使いどころ

  • 有効なプラグインの読み込みが、すべて終わった、直後に、他のプラグインの関数やクラスを使う準備をするとき。
  • プラグインの初期化を、他のプラグインに依存して行うとき。

よくあるミスと対処

  • テーマの関数を使っている。このフックの時点では、まだテーマが読み込まれていない。テーマは、after_setup_theme 以降。
  • 現在のユーザーの情報が、まだ決まっていない場合がある。ユーザーの情報は、init 以降で使う。
  • 投稿タイプの登録に使っている。登録は、init。

NG例

add_action( 'plugins_loaded', function () {
	my_theme_function(); // テーマは、まだ読み込まれていない
} );

OK例

add_action( 'plugins_loaded', function () {
	if ( class_exists( 'WooCommerce' ) ) {
		// 他のプラグインを使う準備
	}
} );

使い分け早見表

フック 実行されるタイミング(早い順)
plugins_loaded プラグインの読み込みが、終わったとき
after_setup_theme テーマの読み込みが、終わったとき
init WordPressの初期化が、終わったとき

関連項目

init、after_setup_theme

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

コメント

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