wp_dequeue_script() の使い方|説明・引数・注意点

説明

wp_dequeue_script() は、キューに入っているスクリプトを、読み込み対象から外す関数です。

基本構文

wp_dequeue_script( string $handle ): void

引数

  • $handle:スクリプトの識別名

戻り値

戻り値はありません。

使い方(サンプル)

add_action( 'wp_enqueue_scripts', function() {
	wp_dequeue_script( 'wp-embed' );
}, 100 );

注意点

  • 読み込まれた後に呼ぶ必要があるため、優先度を大きくします。

実務での使いどころ

  • プラグインやテーマが読み込むJavaScriptを、特定のページだけ外すとき。
  • 使わないスクリプトを、外して、読み込みを減らすとき。

よくあるミスと対処

  • プラグインが読み込みを予約するより前に実行してしまい、効かない。wp_enqueue_scripts フックの優先度を大きく(100 など)して、後で実行する。
  • ハンドル名を間違えている。ページのソースで、実際のハンドル名を確認する。
  • 他のスクリプトが依存しているハンドルは、wp_dequeue_script() で外しても、依存として読み込まれ続ける。完全に外すなら、依存元も外すか、登録の解除(wp_deregister_script())を検討する。外す前後で、表示と動作を確認する。

NG例

add_action( 'wp_enqueue_scripts', function () {
	wp_dequeue_script( 'plugin-script' ); // プラグインより先に実行され、効かない
} );

OK例

add_action( 'wp_enqueue_scripts', function () {
	if ( ! is_page( 'contact' ) ) {
		wp_dequeue_script( 'plugin-script' );
	}
}, 100 );

使い分け早見表

関数 役割
wp_dequeue_script() 読み込みの予約だけを取り消す(登録は残る)
wp_deregister_script() 登録そのものを解除する
wp_enqueue_script() 読み込みを予約する

関連項目

wp_enqueue_script()、wp_deregister_script()

公式リファレンス:wp_dequeue_script() | Function | WordPress Developer Resources

コメント

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