Страницы с динамическим содержимым не должны кэшироваться на сервере, или их кэш должен обновляться сервером (возможно, задание cron) каждые пять минут или около того.Похоже, у вас есть проблема с запросом.Возможно, лениво загружать любые рестораны после определенной точки и удостовериться, что вы не используете мета-запрос.
Однако, чтобы решить проблему в том виде, в каком она есть, вам нужно динамически обновлять статусы с помощью JavaScript,в частности AJAX.Взгляните на документацию AJAX WP , чтобы получить краткий обзор о том, как она работает.
По сути, вам придется заменить ваш статус HTML / PHP на <span class="restaurant-status" data-restaurant-id="<?php echo $restaurant_id;"></span>
.Затем оттуда вы можете перехватить и просмотреть все статусы ресторана с помощью JavaScript и передать идентификаторы в функцию open_close_status
(не забудьте добавить их в хук действия wp_ajax_nopriv_
, измените класси измените внутренний текст.
Тем не менее, я по-прежнему считаю, что в первую очередь следует учитывать медлительность ваших страниц, вне кэширования сервера. Ленивая загрузка, проверка сжатых изображений, в значительной степени не зависящая от медленных / раздутых плагинов,и т. д. WordPress должен иметь возможность очень быстро выплевывать 10, 50, 100 или даже 200 сообщений. (Как пример, у меня есть сайт, над которым я работаю, с 400 000 записей в таблице сообщений, 35 000 - это компании).", а 350 000 - это" отзывы ", связанные друг с другом, и они могут выплюнуть 250 компаний и их отзывы менее чем за полсекунды.)