購入したテーマの.js
ドキュメントにエラーがある可能性があります。
$('.tagcloud a').wrap('<span class="st_tag" />');
私はそれを解決しようとしていますが、私はプログラマーではありませんので、私は方法がわかりません。このサイトは http://www.framerental.com です。
jQuery.noConflict();
を使用しているので、$
は未定義です。
詳細についてはこちらをご覧ください docs
この方法でコードを変更してみてください($
準備完了関数に署名)
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
関数エラーは、ほとんどすべてのコンテンツ管理システムで一般的なものであり、これに対処する方法はいくつかあります。
次を使用してコードをラップします。
_<script>
jQuery(function($) {
YOUR CODE GOES HERE
});
</script>
_
noConflict();
を使用してjQueryのAPIを使用することもできます。
_<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>
_
ドキュメントを使用せずにnoConflictを使用する別の例:
_<script>
jQuery.noConflict();
(function( $ ) {
$(function() {
// YOUR CODE HERE
});
});
</script>
_
次のような競合を避けるために、エイリアスを作成することもできます。
_var jExample = jQuery.noConflict();
// Do something with jQuery
jExample( "div p" ).hide();
_
さらに長い解決策は、$のすべての参照をjQueryに変更することです。
$( "div p" ).hide();
からjQuery( "div p" ).hide();
へ
これを行う代わりに:
$(document).ready(function() { });
これを行う必要があります:
jQuery(document).ready(function($) {
// your code goes here
});
これは、WordPressがjQuery以外の何かに将来、または現在使用する可能性があるため、$をjQueryドキュメントでのみ使用できるようにjQueryをロードする必要があるためです。準備完了コールバック。
一部の人が示唆しているように、jquery toolkit/libを含めないか、種類の競合があります。テストするには:jQueryを含めて、次のようにテストします。
console.log($);
console.log($ === jQuery);
$
が未定義ではなく、$ === jQuery
がfalseをログに記録している場合は、間違いなく手に衝突があります。 $
をjQuery
に置き換えるとそれは解決しますが、それは非常に面倒です(すべての余分な入力...)。一般に、少なくともjQueryオブジェクトへの短い参照を持つために、$jq = _$ = jQuery;
でスクリプトを開始します。
もちろん、それを行う前に、事前に設定された変数を誤ってオーバーライドしていないかどうかを確認してください。console.log($jq, _jQ, _$);
いずれかnotundefined
はもちろんそのままにしておく必要があります
これを追加してください:
<script>
var $ = jQuery.noConflict();
</script>
header.phpのheadタグに。または、管理領域(またはheader.phpが使用されていない場所)でドル記号を使用する場合は、使用する場所の直前に置きます。
(気づかない競合がいくつかあるかもしれません。テストして、もしあれば、ここまたはリンク下で提供されている他のソリューションを使用してください。)
ソース: http://www.wpdevsolutions.com/use-the-dollar-sign-in-wordpress-instead-of-jquery/
head
セクションの最後にロードするカスタムスクリプトファイルを追加し、上部に次を挿入しました。
(function (jQuery) {
window.$ = jQuery.noConflict();
})(jQuery);
(これはFankyの答えの修正です)
NoConflict以外に、これも役立ちます。
(function( $ ) {
// Variables and DOM Caching using $.
var body = $('body');
console.log(body);
})( jQuery );
JQueryを含めた場合、競合が発生する可能性があります。 $
の代わりにjQuery
を使用してみてください。
JQuery wp_enqueue_script("jquery");
をキューに登録するだけで、これを非常に簡単に解決できました。