WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Ajax проверка добавленных постов

На сайте часто постятся новости. Посетитель находится на главной странице и без перезагрузки не может узнать, что уже появилось несколько новых новостей. Можно ли какими-то средствами отображать плашку появилось № постов - обновите страницу. На сколько я понимаю нужно каждые несколько минут посылать запрос к базе на проверку появления постов. Будет ли это сильно нагружать сервер? Возможно есть штатные средства для похожей реализации или хотя бы направьте на ресурс, где можно побольше узнать про это. Спасибо.

0
Кирилл
5.4 года назад
  • 0
    Glomberg139 viktor-web.ru

    Здравствуйте.
    Есть в вордпрессе Heartbeat - постоянное периодическое опрашивание сервера.

    Думаю, что ознакомившись, вы сможете решить свой вопрос.

    Схематично это будет примерно так:

    • добавляете свои данные в запрос heartbeat
    • хуком на сервере проверяете, присутствуют ли ваши данные в запросе, если да то:
      • выполняете вашу функцию по проверке, есть ли новые посты, если есть, то:
        • возвращаете скрипту heartbeat количество новых постов в своей переменной
        • разбираете свою переменную в событии heartbeat-tick (рисуете на странице инф-ию о новых постах с помощью JS)
    Комментировать
  • 0

    Нагружать сервер будет, лучше всего сделать привязку к хуку

    save_post где и будет выводится сообщение через javascript

    https://wp-kama.ru/hook/save_post

    https://wp-kama.ru/hook/save_post_(post_type)

    Если новости постят слишком часто, что бы не напрягать юзеров этими плашками, можно и использовать wp_cron и wp_schedule_event

    https://wp-kama.ru/function/wp_cron
    https://wp-kama.ru/function/wp_schedule_event

    Как реализуете так и будет. Нагрузку можно измерить после. Но на мой взгляд 2-ой метод более напряжный для сервера, тк по сути запрос на сервер, не зависит от количества публикаций.

    Ну и конечно же не стоит забывать про кэширование.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация