Intereting Posts
Создайте еще одну систему комментариев для CPT locate_template не работает полностью Таксономии, не появляющиеся в столбцах на приборной панели Вызов различных листов CSS в заголовке – хорошая идея? Добавление настраиваемого фильтра meta_key к сообщениям Установка WordPress с сайта live на localhost Как я могу добавить пользовательские изображения заголовков для каждой категории? Содержимое DISAPPEARS при простое добавление обычного текста для ТОЛЬКО ОДНОГО ТОТА Виджет для конкретной категории Как я могу зарегистрировать пользователя, проверяет, включен ли новый пользователь в таблицу предварительно одобренных пользователей? WP_Query с несколькими orderby НЕ работает с ASC и DESC, что не так? Глубоко вложенная петля меню с веточкой с использованием дерева Вставка HTML и jQuery на страницу, использующую шаблон Defaut Сортировка заголовка wp в алфавитном и цифровом формате? запрос базы данных с более чем двумя парами зависает и не завершается

Почему javascript работает только при входе в систему?

Я пытаюсь реализовать простой скрипт:

jQuery(document).ready(function($){ $(window).scroll(function(){ if($(window).scrollTop() >= $('#masthead').outerHeight()) { $("#masthead").addClass("minimize"); } else{ $("#masthead").removeClass("minimize"); } }); }); 

Он отлично работает, когда пользователь вошел в систему WP. Для обычных пользователей скрипт загружается в нижний колонтитул, но ничего не делает.

Я также получаю эту ошибку с консоли:

 Uncaught ReferenceError: jQuery is not definedfixed-menu.js?ver=20150318:1 (anonymous function) 

PD: Я использовал wp_enqueue_script в моих functions.php как и с любыми другими внешними js:

 function nevermind_scripts() { wp_enqueue_style( 'nevermind-style', get_stylesheet_uri() ); wp_enqueue_style( 'nevermind-google-fonts', 'http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,900,300italic,400italic|Droid+Serif'); wp_enqueue_style( 'nevermind-font-awesome', 'http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'); wp_enqueue_script( 'nevermind-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true ); wp_enqueue_script( 'nevermind-fixed-menu', get_template_directory_uri() . '/js/fixed-menu.js', array(), '20150318', true ); } add_action( 'wp_enqueue_scripts', 'nevermind_scripts' ); 

Пытаться:

 wp_enqueue_script( 'nevermind-navigation', get_template_directory_uri() . '/js/navigation.js', array('jquery') ); 

Возможно, что jQuery не находится в очереди, и вы не объявляете его зависимым от своего сценария. При входе в систему автоматически помещается в очередь jQuery.

EDIT: Журнал консоли говорит, что jQuery is not defined . Вы добавили функцию jQuery(document).ready($) для функций fixed-menu.js?

CDN, удаленные ресурсы и запросы на кросс-поиск

Возможно, вы захотите сначала заменить http: для своих CDN. Возможно, при использовании этого запроса возникают проблемы с запросом на перекрестный поиск. Опуская протокол, браузер может выбрать правильный протокол в зависимости от ситуации. Фиксированный протокол часто является проблемой в Chrome – «overprotective parent».

Зависимость Инъекционный свет в JavaScript

Помимо этого, вы всегда можете проверить, загружена ли какая-либо зависимость. Это можно сделать легко, проверив его в функцию самозапуска и запустив ее на консоль:

 ( function( $ ) { "use strict"; console.log( $ ); } )( jQuery || {} ); 

Это означает, что вы либо занесете полный объект jQuery , либо – если он не смог загрузить достаточно рано – {} / пустой объект. Если последнее имеет место, то вы можете пойти с тем, что предложил @Ciprian: добавьте свою зависимость при регистрации / enqueuing вашего скрипта:

 wp_enqueue/register_script( $handle, plugin_dir_url( __FILE__ ).'assets/js/script.js', array( 'jquery' ), filemtime( plugin_dir_path( __FILE__ ).'assets/js/script.js' ), true ); 

Возможно, вы захотите использовать одну из следующих функций для вашего URL / Path – дампа, если вы не уверены в том, что получаете

  • get_template_directory() – Путь к корневой get_template_directory() родительской темы
  • get_stylesheet_directory() – Путь к дочерней теме root dir
  • get_template_directory_uri() – URL-адрес родительской темы root dir
  • get_stylesheet_directory_uri() – URL-адрес дочерней темы root dir
  • plugin_dir_path( __FILE___ ) – корень текущего файла, независимо от того, в дочерней / родительской теме или в плагине. Превышение резкого результата.
  • plugin_dir_url( __FILE__ ) – корень текущего файла – в плагине. Превышение резкого результата.

PROTip: используется «время последнего изменения файла» / filemtime() , временная метка UNIX в качестве аргумента номер версии / запроса, чтобы пробить браузерный кеш по требованию.

Предложение Pieter Goosen для проверки плагинов работало для меня. Был вызван плагин Fast Velocity Minify. Очистка кеша тоже не сработала, единственный способ обойти это – отключить плагин и снова включить его после завершения разработки.