web-dev-qa-db-ja.com

特定のページでWordPressのjqueryを登録解除する

注:Wordpressに付属のjQueryを削除することはお勧めできません。以下のソリューションを実装する場合は注意してください

ヘッダーにjQueryをロードする必要がないページがいくつかあります。 WordPressのjQueryをデキュー/登録解除し、特定のページでjQueryのCDNをエンキュー/登録することが可能かどうか疑問に思います

私はやるべきこととすべきでないことを読みましたが、私たちはプラグインを使用していませんし、テーマはカスタムです。

以下は私の現在のコードですが、うまくいきたくないようです。デフォルトのWordpress jQueryはまだヘッダーにロードされます。

if (!function_exists('modify_jquery')) {
    function modify_jquery() {
        if (is_page(array('page 1', 'page 2'))) {
            wp_dequeue_script('jquery');
            wp_deregister_script('jquery');

            wp_register_script('jquery-custom', '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', false, '1.11.3', 'true');
            wp_enqueue_script('jquery-custom');
        }
    }
}
add_action('init', 'modify_jquery');
2
brandozz

wp_enqueue_scriptsにフックします。それはうまくいくでしょう。

修正コードは

if (!function_exists('modify_jquery')) {
    function modify_jquery() {
        if (is_page(array('page 1', 'page 2'))) {
            wp_dequeue_script('jquery');
            wp_deregister_script('jquery');

            wp_register_script('jquery-custom', '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', false, '1.11.3', 'true');
            wp_enqueue_script('jquery-custom');
        }
    }
}
// add_action('init', 'modify_jquery');
add_action('wp_enqueue_scripts', 'modify_jquery');

これが助けになることを願っています。

4
CodeMascot