ワードプレスで特定のページのみ任意のJSの読み込みを中止するPHPコード(方法)を解説いたします。

ワードプレスで特定のページのみ任意のJSの読み込みを中止する方法

ワードプレスのwp_enqueue_scriptsアクション関数を使い、任意のJAVASCRIPTの読み込みを停止することが可能です。
※このコードはテーマのfunctions.phpに書き込むと動作いたします。

function my_unload_js() {
    wp_deregister_script( '読み込むJSのハンドル名' );
}
add_action( 'wp_enqueue_scripts', 'my_unload_js' );

ワードプレスのJSは wp_enqueue_script( ‘my-js’, ‘filename.js’, false ); のように読み込まれますので、’読み込むJSのハンドル名’の部分には’my-js’ に当たるハンドル名を指定します。

うまくいなかないときは優先順位を下記のように指定するとちゃんと除外してくれるようになる可能性があります。

function my_unload_js() {
    wp_deregister_script( '読み込むJSのハンドル名' );
}
add_action( 'wp_enqueue_scripts', 'my_unload_js',9);

※9の部分が優先順位となります。一般的に優先順位は10ですので9にすると優先順位が高くなります。

任意のページのみJSを読み込むのを除外する

is_page関数を利用して任意のページのみJSを読み込むのを除外することが可能です。

if ( is_page(array(1,2,3 ))) { のように投稿IDの数字を指定したり、if ( is_page(array(‘fun-book’,’sad-book’,’serious-book’ ))) {  のようにページのスラグを入れると現在表示中のページがそのページかどうか判定します。

function my_unload_js() {
    if ( is_page(array(1,2,3)) ) { ///ページID1,2,3の場合にのみ任意のJSを読み込むのを停止する
        wp_deregister_script( '読み込むJSのハンドル名' );
    }
}
add_action( 'wp_enqueue_scripts', 'my_unload_js' );

特定のページ以外の時のみに任意のJSを読み込むのを停止するには否定の ! を使います。

function my_unload_js() {
    if (! is_page(array(1,2,3)) ) { ///ページID1,2,3以外の時に任意のJSを読み込むのを停止する
        wp_deregister_script( '読み込むJSのハンドル名' );
    }
}
add_action( 'wp_enqueue_scripts', 'my_unload_js' );

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマのカスタマイズPHPコーディングのご相談・ご依頼はWPドクターまでお気軽にお送りください