Бала задача, найти и исправить где и что грузит на одной определенной странице. Задача элементарная: есть массив с ID постов WordPress, нужно вывести их заголовки. Ничего сложного, любой новичок справится. И код, который мне был найден, действительно работал. На первый взгляд, все было нормально. Вот как он выглядел. <?php $post_ids = [1, 5, 12, 24, 35]; // Допустим, это наши ID echo '<ul>'; foreach ($post_ids as $id) {
// На каждой итерации - новый запрос к БД
$post_title = get_the_title($id);
echo '<li>' . $post_title . '</li>'; } echo '</ul>'; ?> Код рабочий. К нему не придраться, если не знать, что происходит "под капотом". А происходит там очень плохая вещь. Функция get_the_title($id) для каждого ID в цикле лезет в базу данных. В нашем примере у нас пять ID, значит, будет пять отдельных запросов к базе. Если их будет сто, то и запросов будет сто. Это классическая проблема. На тестовом сайте это незаметно, но на живом проекте с большой посещаемостью такой подход полож