Что Может Привести К Тому, Что Действие «Wp» Будет Срабатывать Дважды На Страницу (Но Только Один Раз За Сообщение) Только В Firefox?

  • Автор темы Hask1531
  • Обновлено
  • 21, Oct 2024
  • #1

Я использую ID and, well, it's not doing it just once but twice. What's interesting is that within $page я глобализируюсь $post and it's two different posts!

Я заметил это с помощью add_user_meta(). По сути, я использую это для отслеживания активности пользователей на сайте. При действии «wp» я получаю глобальное do_something_once_per_page( $wp ){ } and log the add_action( 'wp', 'do_something_once_per_page' ); против мета пользователя.

Для каждого страница load, я получаю две записи в журнале. Один для правильной страницы, другой для следующей опубликованной страницы (пропуская все версии или другие промежуточные типы сообщений).

Интересно (есть ли здесь подсказка?) для посты, записывается только правильный пост — и действие не вызывается второй раз.

Я все еще удивлен тем, что действие «wp» вообще вызывается дважды, и еще больше озадачен тем фактом, что оно захватывает какую-то другую страницу, которая не имеет никакого отношения (в иерархии меню) к текущей запрашиваемой странице.

Кроме того, я не могу хоть убей понять, куда идет эта «страница-призрак» — насколько я могу судить, она определенно не отправляется в браузер. Может ли быть виноват какой-то фантомный вызов AJAX? А как насчет панели администратора, когда вы вошли в систему (я записываю только активность вошедших в систему пользователей, поэтому панель администратора всегда есть).

РЕДАКТИРОВАТЬ: Теперь я могу подтвердить, что это проблема только Firefox! Что с этим случилось? Я даже не могу понять, как FF запрашивает некоторые другой

страница, чем ссылка, на которую я нажимаю, почему только FireFox и, типа, WTF. Вероятно, это гораздо меньше проблема WP, чем проблема FF6.

Hask1531


Рег
30 Oct, 2019

Тем
75

Постов
163

Баллов
538
  • 25, Oct 2024
  • #2

Проверьте источник вашей страницы. Я предполагаю, что ваш исходный код включает в себя

 
 <link rel="prefetch" href="http://www.example.com/">
 
in the header, as WordPress injects by default, and Firefox is prefetching the "next" page in order to cache it.

Попробуйте удалить эту ссылку из заголовка:

remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');

Нашел этот блог с более подробной информацией: Wordpress rel="next" и предварительная загрузка Firefox

 

Vrb


Рег
01 Jul, 2008

Тем
66

Постов
202

Баллов
542
  • 25, Oct 2024
  • #3

Убедитесь, что это не предварительная загрузка ссылок. По сути, темы Wordpress могут печатать директиву, которая предписывает современным браузерам загружать и кэшировать следующую страницу, которую вы, вероятно, увидите, для повышения производительности. Вывод html выглядит примерно так

<link rel="next">

Чтобы узнать больше, выполните поиск по запросу «Предварительная загрузка ссылок» в Google.

 

Profkino


Рег
02 Jan, 2008

Тем
72

Постов
204

Баллов
594
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно