私はWordpressの初心者なので、自分のjqueryを子テーマに統合するための支援が必要です。
私はうまくいくこのjqueryツールチップを持っていますが、私はそれを私のwordpressの子テーマに含めたいです。
このソースコードを見てください。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js/jquery.balloon.js"></script>
<script>
$(document).ready(function() {
$('.sample').balloon({ position: "left" })
});
</script>
ツールチップを機能させるために、これらすべてを子テーマに含めるにはどうすればよいですか。ありがとう
まず第一に、jqueryはおそらくメインテーマによって既にエンキューされています。そうでなければ、正しい方法は、アクションフックwp_enqueue_scriptsのための関数でwp_enqueue_script('jquery')
を呼び出すことです。
例:
function enqueue_jquery() {
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'enqueue_jquery').
このコードはあなたの子供のテーマのためにfunctions.php
ファイルに追加される必要があるでしょう。
ワードプレスに付属しているもの、またはメインテーマに付属しているものとは異なるバージョンのjqueryをロードしたい場合は、wp_enqueue_script
にファイル名のみを指定します。そして、wp_deregister_script('jquery')
を使用して、すでにロードされているすべてのバージョンのjqueryを最初にアンロードする必要があります。新しいバージョンをロードする前に、すでにロードされているバージョンの登録を解除しないと、競合が発生します(同じjquery関数が2回定義されています...)。
それから、あなたのjquery.balloon.js
ファイルに対して、同じ発言で、wp_enqueue_script
(そしてアクションhook wp_enqueue_scripts
)を使ってください。相対URLも使用しないでください。あなたがjquery.balloon.js
ファイルをあなたの子供のテーマのための "js"ディレクトリの下に置くと仮定すると、WordPressの標準は以下の行に沿ってコードを使うことでしょう:
wp_enqueue_script('jquery-balloon', get_stylesheet_directory_uri().'/js/jquery.balloon.js', array('jquery'), false, false);
get_stylesheet_directory_uri
関数はあなたの子供テーマディレクトリへのフルパスURLを返します。
_ edit _ (バルーン効果の有効化を含めるのを忘れていました)
アクティベーション部分($(document).ready(...);
コード)にとって、物事を行うための最も標準的なWordPressの方法(およびメインと子のテーマの関係において混乱の可能性が最も低い方法)は、jsファイルを作成することです。 "balloonactivate.js
"をクリックして、そのファイルをあなたの子供用の "js"フォルダに置きます。
あなたの子供のテーマが "maintheme"と呼ばれるテーマのためであるとしましょう。それからあなたの子供のテーマは "maintheme-child"と呼ばれるフォルダ(すなわちwp-content/themes/maintheme-child
)にあるべきです。その下の "js"フォルダ(すでに存在する、または "jquey.balloon.js"ファイルを置くために作成する)に、 "** strong text
** balloonactivate.js"ファイルを置きます。あとはjqueryおよびjquery.balloon.jsスクリプトのようにエンキューするだけです。
だから、あなたのために働くことができる完全なコードは以下の通りです:
function enqueue_jquery_balloon() {
wp_enqueue_script('jquery');
wp_enqueue_script('jquery-balloon', get_stylesheet_directory_uri().'/js/jquery.balloon.js', array('jquery'), false, false);
wp_enqueue_script('activate-balloon', get_stylesheet_directory_uri().'/js/balloonactivate.js', array('jquery-balloon'), false, false);
}
add_action('wp_enqueue_scripts', 'enqueue_jquery_balloon').
このコードはあなたの子供のテーマのディレクトリのfunctions.php
ファイルに追加されるべきです。
バルーン効果を有効にするために、$(document).ready(...);
コードをchild-theme footer.phpファイルの最後にインラインで追加することもできます(child-themeにメインテーマとは異なるフッターが必要な場合)。しかし、メインテーマのフッターで十分であれば、バルーンスクリプトのためだけに子テーマでfooter.php
を作成するのは残念です(したがって、 の「混乱を最小限に抑える」影響についての上記のコメントballoonactivate.js
file).
あなたのケースではjqueryのエンキューはおそらく必要ではありませんが、それを再度エンキューすることは問題ではありません。問題となるのは、あるバージョンのjqueryがすでにロードされていて、2番目のバージョンをロードしたことです。
お役に立てれば。