web-dev-qa-db-ja.com

WordPressのフッター内のbodyタグを閉じる直前にjavascriptを追加する方法

私はここで他の人々のアドバイスに従っています / bodyタグを閉じる前に自分のjsファイルを追加することについてですが、私にはうまくいかないようです。

誰かが私のためにこれをチェックするほど親切になるだろうか?

<?php
  /*load the js file into the footer*/
  function myscript() 
  {
   if( wp_script_is( 'jquery', 'done' ) ) {
  ?>
     <script type="text/javascript" src="js/scripts.js"></script>
  <?php
  }
 }
  add_action( 'wp_footer', 'myscript' );
?>

どうもありがとう

編集:--------------------------------------------- ---

これは簡単な解決策です.. <script language="javascript" src="<?php bloginfo('template_directory'); ?>/js/scripts.js"></script>

正しい答えではありませんが。

編集---------------------------------------------- -----

これは私がWPコーデックスの例とあなたの論点Fischiに基づいて試みているものですが、私はまだ何か間違っていることを考えています..

function my_scripts_method() {
wp_enqueue_script(
    'myscript',
    get_bloginfo('template_directory') . '/js/scripts.js',
    array( 'jquery' ), 
    '', 
    true
);
 }    

 add_action('wp_enqueue_scripts', 'my_scripts_method');

ファイルはまだフッターにロードされません。

5
SixfootJames

あなたはいつもWordpressの関数wp_enqueue_script()でjavascript(そしてスタイル)を追加するべきです

このように動作します:

wp_enqueue_script( 
 $handle // the name of your enqueued file, in your case 'myscript'
,$src    // source of your file, can be external, or for your example: get_bloginfo('template_directory') . '/js/scripts.js'
,$deps   // does your javascript depend on another javascriptfile? for example jquery? pass an array of arguments specifying all the dependencies: array( 'jquery' )
,$ver   // version number of your javascript
,$in_footer // this is what you need: true
);

$in_footerをtrueに設定した後、それはwp_footer()アクションにエンキューされます。通常はbodyタグの最後の直前です。

だから、あなたのために:

wp_enqueue_script( 'myscript', get_bloginfo('template_directory') . '/js/scripts.js', array( 'jquery' ), '', true );

トリックをします。

注: すべてのテーマが(すべてのテーマが必要です)が wp_footer(); をフッター内で/最後の</body>タグのすぐ上にあるわけではありません。

14
fischi