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

説明

wp_deregister_script() は、登録済みのスクリプトの登録を解除する関数です。

基本構文

wp_deregister_script( string $handle ): void

引数

  • $handle:登録解除するスクリプトの識別名

戻り値

戻り値はありません。

使い方(サンプル)

wp_deregister_script( 'jquery' );

注意点

  • WordPress標準のjQueryを外して別のバージョンを読み込む場合などに使いますが、プラグインやテーマが依存していることが多く、動作しなくなる恐れがあります。
  • 管理画面では実行しないよう、is_admin() で条件分岐するのが一般的です。

実務での使いどころ

  • プラグインやテーマが読み込むJavaScriptを、別のバージョンやCDNに差し替えるとき(解除してから、同じハンドルで登録し直す)。
  • 不要なスクリプトを、完全に外すとき。

よくあるミスと対処

  • jquery を解除し、jquery に依存するスクリプトが、出力されなくなる。差し替えるときは、jquery-core を解除して、再登録するのが一般的。管理画面では、解除しない。
  • プラグインが登録するより前に実行してしまい、解除できない。wp_enqueue_scripts フックの優先度を大きく(100 など)して、後で実行する。
  • 他のスクリプトが依存しているハンドルを解除し、それらが読み込まれなくなる。

NG例

add_action( 'wp_enqueue_scripts', function () {
	wp_deregister_script( 'jquery' ); // jquery に依存するスクリプトが、出力されなくなる
} );

OK例

add_action( 'wp_enqueue_scripts', function () {
	wp_deregister_script( 'plugin-script' );
}, 100 );

使い分け早見表

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

関連項目

wp_dequeue_script()、wp_register_script()

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

コメント

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