私はカスタムWordPressテーマに取り組んでいます。 1つのことを除いて、私はこれまでのところすべてが完璧に動作しています。外部のJavaScriptファイルは動作しません。
リンク here および here から正確なアドバイスに従ったが、それでも機能しない。
私はコーデックスを検索し、ソースコードをチェックし、firebugを使用しました。なぜこれがうまくいかないのかわかりません。残念ながら、 _ nda _ のため、サイトの実際のコード、またはそのリンクを提供することは許可されていません。だから私はできる限り説明する必要があります。
私はwp_enqueue_script()
を使用してファイルをfunctions.php
ファイルに含めました。頭の中のスクリプトタグは次のとおりです。
<script type='text/javascript' src='http://www.xx.com/wp-includes/js/jquery/jquery.js?ver=1.4.4'></script>
<script type='text/javascript' src='http://www.xx.com/wp-content/themes/twentyten/scripts/custom.js?ver=3.1'></script>
そのため、ファイルはロードされていますが、機能していません。 ?ver=3.1
ファイルの最後にあるcustom.js
がそれに関係しているのではないかと私は思っていましたか?
私のfunctions.php
ファイルからのコード:
function twentyten_custom_scripts() {
if ( !is_admin() ) // instruction to only load if it is not the admin area
{
// register your script location, dependencies and version
wp_register_script('custom_script', get_bloginfo('template_directory') . '/scripts/custom.js', array('jquery') );
// enqueue the script
wp_enqueue_script( 'jquery' );
wp_enqueue_script('custom_script');
}
}
add_action('template_redirect', 'twentyten_custom_scripts');
私はこの時点で本当に迷っています。私も私のすべてを変更しました:
$('#elem').hide();
に
jQuery('#elem').hide();
コーデックスwp_enqueue_script()
no conflict wrappersセクションに従うcustom.js
ファイルでは ここ 、まだ何もありません。
ああ、そして私は私のPagesの全てにロードするのにこのファイルを必要としているが、私のBlogではそうではない。メインサイトそれが理にかなっていると思います。
私の観点からは、これはうまくいくはずです。多分あなたは custom.js ファイルをここに投稿することができます。このファイルに構文エラーなどがある可能性があります。 header.php に単純なjquery-commandを追加することで、組み込みのjqueryがそのまま使えるかどうかをテストすることもできます。
Action-hook template_redirect
はフロントページにのみファイルをインクルードするために使われます(だから私は覚えていることができます)。テーマがロードされた後にスクリプトをロードしたい場合は、after_setup_theme
アクションフックを使用できます。
あなたがしたようにjqueryをあなたの custom.js の依存関係として設定するならば、あなたはあなたのjqueryファイルを手動でエンキューする必要はありません。 custom.js が添付される前に、ファイルはWordPressから自動的にロードされます。
custom.js の先頭にjQuery.noConflict();
を追加しましたか?
いくつかの実用的な例:
functions.php
function twentyten_custom_scripts() {
if ( !is_admin() ) // instruction to only load if it is not the admin area
{
wp_register_script('custom_script', get_bloginfo('template_directory') . '/scripts/custom.js', array('jquery') );
wp_enqueue_script('custom_script');
}
}
add_action('after_setup_theme', 'twentyten_custom_scripts');
custom.js
jQuery.noConflict();
jQuery(document).ready(function() {
// do your stuff e.g.
jQuery("a[rel^='prettyPhoto']").prettyPhoto();
});