2015-07-09 2 views
0

JQuery не работает с локальной установкой WordPress. Я загрузил необходимые файлы в functions.php следующим образом:JQuery not loading wordpress 4

<?php 

    function abdi_theme_styles(){ 

     wp_enqueue_style('normalize_css', get_template_directory_uri() . '/css/normalize.css'); 
     wp_enqueue_style('Google-font', 'http://fonts.googleapis.com/css?family=Changa+One|Open+Sans:400italic,700italic,400,700,800'); 
     wp_enqueue_style('main_css', get_template_directory_uri() . '/style.css'); 
     wp_enqueue_style('responsive.css', get_template_directory_uri() . '/css/responsive.css'); 
} 

    add_action('wp_enqueue_scripts', 'abdi_theme_styles'); 

    function abdi_theme_js(){ 
     wp_enqueue_script('main_js', get_template_directory_uri() . '/js/main.js', array('jquery'), '', true); 
} 

    add_action('wp_enqueue_scripts', 'abdi_theme_js'); 


    ?> 

Я проверил ресурсы, которые загружаются в браузер, но мой файл app.js возвращает 404. Файл делает выходы и на самом деле внутри JS папка. Кроме того, я обмотал JQuery код, используя обертку нет конфликта - вот мой main.js файл:

jQuery(document).ready(function($) { 

     $(document).ready(function(){ 
      alert('Ready!'); 
      var lastScrollTop = 0; 
      $(window).scroll(function(event){ 
      var st = $(this).scrollTop(); 
      if (st > lastScrollTop){ 
      $('header').slideUp(500); 
      } else { 
       $('header').slideDown(500); 
     } 
     lastScrollTop = st; 
    }); 

    });//end read function 
    });//end noConflict wrapper 

Я использую XAMPP на платформе Linux Ubuntu, и я использую Wordpress версии 4.2.2 Любые предложения ?

+0

вероятно работает в режиме конфликта –

ответ

-1

Если у кого-то есть аналогичная проблема, я обнаружил, в чем проблема.

Я получил это работает, удалив версию и аргументы колонтитула к wp_enqueue_script функции:

wp_enqueue_script('main_js', get_template_directory_uri() . '/js/main.js', array('jquery')); 

Эти аргументы должны указать, какую версию зависимого файла, который вы хотите использовать, и хотите ли вы загрузите его в голову или около нижнего колонтитула, но это было причиной того, что jquery не работает для меня.

Было бы интересно узнать, есть ли у кого-либо еще одна проблема.

0

Чтение документов wp_enqueue_script вы можете видеть, что версия по умолчанию имеет значение boolean false. Вы добавили пустую строку, поэтому хотите включить jQuery-версию ''.

Ofcourse, который не существует.

Вы должны использовать ложь вместо:

wp_enqueue_script('main_js', get_template_directory_uri() . '/js/main.js', array('jquery'), false, true); 
+0

, что не работает для меня тоже. Я видел это в документах, но не работал. – Abdi