web-dev-qa-db-ja.com

Jqueryの複数のコピーのロードを中止する方法

私のwordpress header.phpとfunction.phpはbelow.pleaseで与えられているので、jqueryを何度も読み込むことによる問題を防ぐために私のphpコードを修正することができます。私のプラグインとテーマはjqueryを何度もロードしています。

私のファイル
Header.php
Function.php


すべての専門家が、エンキュースクリプトを含める必要があると言っています。私はそれに関連したさまざまな文書を読みました。

私はコーディングが初めてなので、このエンキュースクリプトを追加する場所がわかりません。どのコードを追加する必要がありますか。

2
Jithin

あなたはあなたのheader.phpからこれらの行を削除する必要があります

<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts/jquery.js"></script>
<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts/tabber.js"></script>
<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts/superfish.js"></script>

そして代わりにあなたの関数phpに次の関数を追加してください...
右上にあります。

wp_enqueue_script

function sg_theme_js(){

    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'tabberjs', get_template_directory_uri().'/javascripts/tabber.js', array('jquery'), 1.0, true);
    wp_enqueue_script( 'superfishjs', get_template_directory_uri().'/javascripts/superfish.js', array('jquery'), 1.0, true);

}
add_action( 'wp_enqueue_scripts', 'sg_theme_js' );

例:
多くのプラグインはjQuery(および他のjsファイル)を使用しているため、すでにjQueryをロードしたことを知る必要があります(ワードプレスも同様です)。手遅れです!

スクリプトをエンキューし、プラグインがそれらに依存することを許可するのはそのためです。

さて...ちょっとしたコメントです。
あなたがテーマを管理することを望むなら、あなたはこのことを学ぶ必要があるコードを扱うことを意味します;) - wp_enqueue_scriptについて読むために少し時間をかけてください。

これに関する追加情報は次のとおりです。 wp_enqueue_script

3
Sagive SEO

簡単な答えは、スクリプトタグをテンプレートファイルに直接追加しないことです。まさにこれがWordPressスクリプト registration および enqueue systemが存在する理由です。

1
Milo