2015-09-28 220 views
0

我有這個簡短的JavaScript我想添加到客戶端的WordPress。我對WordPress如何操作或添加我的代碼不太瞭解。我在網上閱讀了一些文章,但有點困惑如何去做這件事。我添加了我需要註冊的腳本,並告訴wordpress使用Jquery,但我不斷收到錯誤。在註冊之前,它需要jQuery。當我添加wptuts_script它現在不會識別。我把這段代碼放在了錯誤的地方嗎?這裏是文件路徑js文件html/wp-content/themes/metis/js基本上我想添加這個js(使用jQuery):添加自定義Js到Wordpress主題

document.ready(function() { 

    function wptuts_scripts_with_jquery() 
    { 

     // or 
     // Register the script like this for a theme: 
     wp_register_script('custom-script', get_template_directory_uri() . '/js/test.js', array('jquery')); 

     // For either a plugin or a theme, you can then enqueue the script: 
     wp_enqueue_script('custom-script'); 
    } 
    add_action('wp_enqueue_scripts', 'wptuts_scripts_with_jquery'); 

    function updatebtm() { 
     var pos = $(window).scrollTop(); 
     console.log(pos); 
     if (pos >= 800) { 
      $('.portfolio-top').css('display', 'none'); 

     } else { 

      $('.portfolio-top').css('display', 'block'); 
     } 

    } $(window).bind('scroll', updatebtm); 

}); 

+0

感謝編輯RNEVIUS!你也可以在這個問題上採取行動嗎?! –

回答

2

的問題是,你完全混合PHP和JavaScript。你應該做兩件事情:

  1. 添加自定義JavaScript文件到你的主題
  2. 註冊/入隊是.js文件的插件文件或的functions.php

你的JavaScript也有一些語法錯誤。

下面是一個什麼樣的文件可能看起來像一個例子:

的JavaScript:

(function($) { 

    $(document).ready(function() { 

     function updatebtm() { 
      var pos = $(window).scrollTop(); 
      console.log(pos); 
      if (pos >= 800) { 
       $('.portfolio-top').css('display', 'none'); 

      } else { 

       $('.portfolio-top').css('display', 'block'); 
      } 

     } 
     $(window).bind('scroll', updatebtm); 

    }); 

})(jQuery); 

PHP(在的functions.php

function wptuts_scripts_with_jquery() { 
    wp_enqueue_script('custom-script', get_template_directory_uri() . '/js/test.js', array('jquery')); 
} 
add_action('wp_enqueue_scripts', 'wptuts_scripts_with_jquery'); 
+0

感謝您的快速響應。這是它添加代碼後返回的錯誤 致命錯誤:調用未定義的函數wp_enqueueu_script()在/ home/content/p3pnexwpnas07_data02/08/2775808/html/wp-content/themes/metis/functions.php on line 70 –

+0

你應該使用'wp_enqueue_script',而不是'wp_enqueueu_script'。 – rnevius

相關問題