WordPressテーマHabakiriでjQueryの使用を停止する

関連記事

Habakiriで脱jQuery

Habakiriはソースコード中に一箇所だけjQueryを使っているところがあります。

gnav.php内でハンバーガーメニューを操作するためのコードですが、個人的にハンバーガーメニューの必要性を特に感じなかったので削除しました。

functions.php

add_action('after_setup_theme', function() {
    class Habakiri extends Habakiri_Base_Functions {
        public function wp_footer() {
            //
        }
    }
});

上記のコードでHabakiri_Base_Functionsのwp_footerと言うメソッドを無効化します。
jQuery自体を読み込まないようにするにはさらにfunctions.phpに以下のコードを記述します。

add_action('wp_enqueue_scripts', 'wpHeadCleanUp');

function wpHeadCleanUp()
{
    wp_deregister_script('jquery');
}

jQueryの読み込みを止めるだけだと『Uncaught ReferenceError: jQuery is not defined』と言うエラーが開発ツールに表示されますが、

Habakiri_Base_Functions->wp_footer()を上書きすれば解決。

このままだとスマホサイズでハンバーガーメニューの名残の四角い枠が表示されるので、以下のCSSで非表示にしておきましょう。

#responsive-btn {
display: none !important;
}

ブログの脱jQuery化を進めていますが、あとはFeatherLight(Lightbox)の役割だけ代替できれば脱jQueryできそう。→代替できました。

関連記事

SNSでシェアする