Почему Jquery не переносится в footer, в WordPress?

123
D
На сайте с 23.11.2018
Offline
52
#11
Воспользуйтесь плагином Query Monitor для WP. Он умеет показывать зависимости для скриптов. Там сможете точно узнать, какие из js скриптов подключаются в header'е, и каким из них требуется jquery. Если есть хоть один подключённый js-скрипт с зависимостью от jquery в wp_head, то jquery всегда будет подключаться перед ним
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#12
Demini #:
Воспользуйтесь плагином Query Monitor для WP. Он умеет показывать зависимости для скриптов. Там сможете точно узнать, какие из js скриптов подключаются в header'е, и каким из них требуется jquery. Если есть хоть один подключённый js-скрипт с зависимостью от jquery в wp_head, то jquery всегда будет подключаться перед ним

Спасибо!

Вот я лошара, короче, все работает, я просто тупой и недалекий :-)

Короче:

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

В общем действительно код работает, но нужно кеш было очистить и смотреть не из под админа.

Вот такой код сработал:

function name_scripts() {

  wp_dequeue_script('jquery');

  wp_dequeue_script('jquery-core');

  wp_enqueue_script('jquery', false, array(), false, true);

  wp_enqueue_script('jquery-core', false, array(), false, true);

}

add_action( 'wp_enqueue_scripts', name_scripts', 1 );

И даже можно без установки приоритета, но надо еще посмотреть потестировать.

А кто вызывал скрипт я так и не понял, но это и не важно плагин какий-нибудь наверное.

Короче: только хотел написать, что нельзя просто так взять и перенести jquery в футер, а оказывается можно :-), я просто тормоз.

Слишком много кешей, мемкешей и всяких кеший, про которые постоянно забываешь.

Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#13

А, да, и зачем мне это все нужно было:

В PageSpeed Insights в разделе:

Запросы, блокирующие отрисовку страницы

Запросы блокируют обработку при первоначальной загрузке страницы. Это может привести к увеличению значения LCP. Отсрочка или встраивание могут избавить от негативного воздействия этих сетевых запросов.LCPFCP

Была строчка с ссылкой на эту библиотеку, которая что-то там Объем >40 Кб и Длительность 900 мс.

А теперь нет.

Знаю, знаю PageSpeed Insights это тупо, но ничего с собой не могу поделать, психологические отклонения :)
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#14

Между делом:

А подскажите вот эти Запросы, блокирующие отрисовку страницы, например, js или css файлы, они зависят от размера файлов или от самого факта запроса, в PageSpeed Insights?
SA
На сайте с 12.04.2024
Offline
42
#15
Dmitriy_2014 #:

Если мы говорим об приоритете в функции:

add_action( 'wp_enqueue_scripts', 'theme_scripts', 1 );

То ничего не происходит, какие я бы цифры туда не писал – 0, 1, 10, 100, 1000, 10000.

Вернее, как вроде приоритет скрипта меняется, но только между верхними скриптами, а так все по-прежнему вверху. То есть приоритет скачет только вверху.

Ладно фиг с ним, походу там только плагин отключать тогда это заработает.

Так ты в плагине пропиши приоритет, а не в теме

Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#16
SeoA #:
Так ты в плагине пропиши приоритет, а не в теме
Не, не, там и так все работает, даже без приоритета из темы в function.php, я просто неправильно проверял, надо было из админки выйти и кеш скинуть. Все ОК.
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#17
Но если смотреть из-под авторизированного пользователя то она сверху будет, хотя у меня нету проверки в коде if (!is_admin()) {, то есть код работает типа для всех, а если смотреть не авторизированным пользователем то снизу, как я и хотел, так что в принципе пофигу, но странновато.
Mik Foxi
На сайте с 02.03.2011
Offline
1195
#18
когда человечество свернуло не туда, что для подключения jquery нужны отдельные плагины или функции? что мешает просто руками его прописать в футер или куда нужно?
Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#19
Mik Foxi #:
когда человечество свернуло не туда, что для подключения jquery нужны отдельные плагины или функции? что мешает просто руками его прописать в футер или куда нужно?

Ничего не нужно, я использовал стандартные функции wp_dequeue_script, wp_enqueue_script, все перенеслось, все ОК.

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

function name_scripts() {

  wp_dequeue_script('jquery');

  wp_dequeue_script('jquery-core');

  wp_enqueue_script('jquery', false, array(), false, true);

  wp_enqueue_script('jquery-core', false, array(), false, true);

}

add_action( 'wp_enqueue_scripts', name_scripts', 1 );

Это все стандартные функции движка.

Единственное что я не пойму какая разница между ('jquery') и ('jquery-core') там. Но в целом пофиг, т.к. там все равно один файл тот который должен быть нужен.
GRAFLEKX
На сайте с 05.11.2010
Offline
225
#20
Dmitriy_2014 #:
все перенеслось, все ОК

Теперь проверяй работу всех функций, которые используют Jquery.

Не просто так библиотеку подключают перед закрывающим тегом </head>, чтобы любой модуль, использующий Jquery, мог свободно вызывать его функции после полной загрузки библиотеки.

Если функция будет вызвана до загрузки скрипта, то она не будет работать.

Мы поможем в поиске работы: стабильная работа для вас ( https://www.rabota.ru ), вакансии и резюме.
123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий