Проверьте файл javascript Правильный способ в functions.php

Я пытаюсь преобразовать html в wordpress. Код в html был:

<script src="js/jquery.nicescroll.min.js"></script> <script src="js/jquery.js"></script> ( jQuery v1.7.2 ) 

и встроенный скрипт

 $(document).ready( function() { $("html").niceScroll(); } ); and much more. 

В wordpress functions.php я добавил это

 if ( ! function_exists( 'your_enqueue' ) ) : function your_enqueue(){ wp_enqueue_script(' name ', get_template_directory_uri(). '/script.js' , array('jquery')), '1.0', false); } endif; add_action('wp_enqueue_scripts', 'your_enqueue'); 

Я создал новый .js-файл с именем script.js и добавил в него следующий код:

 <script src="js/jquery.nicescroll.min.js"></script> $(document).ready( function() { $("html").niceScroll(); } ); 

Правильно ли это? Это будет работать? и WordPress по умолчанию использует jQuery v1.7.2 или должен снова выполнить кодировку в functions.php

Solutions Collecting From Web of "Проверьте файл javascript Правильный способ в functions.php"

Несколько указателей.

  • В последней версии WordPress используется jQuery v1.10.2, всегда используйте пакетную версию для областей администрирования, для интерфейса вы можете использовать комплектную версию или CDN.

Если вы используете CDN, обязательно продолжайте использовать jquery как $handle чтобы он не был загружен несколько раз из других плагинов / тем, которые также вставляют в очередь jQuery.

  • Не используйте конфликтующие оболочки для ваших скриптов, есть несколько способов, которые вы можете прочитать здесь: http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_Wrappers это важно .
  • Используйте лучшее имя для своего кода, используя name и your_enqueue это плохо, старайтесь быть последовательным и уникальным.
  • Нет причин проверять, существует ли функция, если вы не планируете поддерживать дочерние темы. Попробуйте использовать условные оболочки только для загрузки вашего скрипта там, где это необходимо.
  • Не уверен, что это была опечатка, но вам не нужно включать script src= в ваш .js-файл, это то, что делает очередь.

В дополнение к ответу Вика …

В принципе, то, что вы делаете, является правильным по большей части. Ваш код, как написано, поражает меня как-то странно. Этот код …

 if ( ! function_exists( 'your_enqueue' ) ) : function your_enqueue(){ wp_enqueue_script(' name ', get_template_directory_uri(). '/script.js' , array('jquery')), '1.0', false); } endif; add_action('wp_enqueue_scripts', 'your_enqueue'); 

… определяет вашу функцию только в том случае, если не существует никакой функции с тем же именем, но в любом случае она перехватывает имя этой функции, а это значит, что дочерняя тема может вставить другой скрипт. На самом деле, некоторые дочерние темы или плагин могли бы определить your_enqueue чтобы вставить что-то рядом с скриптом, например, в таблицу стилей, и все будет работать неправильно. Я бы обернул все это в условное …

 if ( ! function_exists( 'your_enqueue' ) ) : function your_enqueue(){ wp_enqueue_script(' name ', get_template_directory_uri(). '/script.js' , array('jquery')), '1.0', false); } add_action('wp_enqueue_scripts', 'your_enqueue'); endif; 

Или оставьте условно полностью …

 function your_enqueue(){ wp_enqueue_script(' name ', get_template_directory_uri(). '/script.js' , array('jquery')), '1.0', false); } add_action('wp_enqueue_scripts', 'your_enqueue'); 

Или что еще труднее сломать, если ваш PHP sis достаточно недавно …

 add_action( 'wp_enqueue_scripts', function() { wp_enqueue_script(' name ', get_template_directory_uri(). '/script.js' , array('jquery')), '1.0', false); } ); 

Кроме того, вам не нужна часть <script во внешнем файле Javascript. Я предполагаю, что вы получаете ошибки Javascript.