У меня тяжелые времена, включая скрипты и стили jquery-ui в моем плагине. Кажется, мои wp_enqueue_script
звонки просто игнорируются.
Уже есть много вопросов, похожих на этот, но все ответы, которые я нашел до сих пор, сводятся к вызову wp_enqueue_script
внутри wp_enqueue_scripts
ловушки действий, которую я уже делаю.
В конструкторе моего класса я звоню:
add_action( 'wp_enqueue_scripts', array($this, 'enqueue_scripts') );
а затем ниже:
public function enqueue_scripts()
{
wp_enqueue_script( 'jquery-ui-core', false, array('jquery') );
wp_enqueue_script( 'jquery-ui-widget', false, array('jquery') );
wp_enqueue_script( 'jquery-ui-mouse', false, array('jquery') );
wp_enqueue_script( 'jquery-ui-accordion', false, array('jquery') );
wp_enqueue_script( 'jquery-ui-autocomplete', false, array('jquery'));
wp_enqueue_script( 'jquery-ui-slider', false, array('jquery'));
Я проверил, что код фактически выполняется при каждой загрузке страницы. Однако на страницах отсутствуют <link>
теги для библиотеки jquery-ui. Я уже пробовал с и без jquery
зависимости, явно указанной в третьем аргументе wp_enqueue_script
вызовов.
Я также пробовал с простой установкой WP 4.8 без установленных плагинов, кроме моей, и только с двадцатью семнадцатой темой по умолчанию. Нет кости.
Что не так с моим кодом?
Если вы ставите в очередь свой собственный скрипт, вы можете просто добавить
'jquery-ui-accordion'
, например, в список зависимостей. Все необходимые зависимости будут добавлены автоматически. Пример:Сгенерирует этот код:
источник
Я изменил твой сценарий. попробуйте с этим, это работает.
источник