Как я могу получить post meta() наиболее эффективным способом?
У меня есть пользовательский тип публикации для сайта недвижимости, и тема отображает 9 свойств в сетке на домашней странице. Я не думаю, что это написано ужасно эффективно - я получаю около 160 запросов на главной странице, и только около 20 из этих запросов от плагинов, поэтому тема нуждается в некотором улучшении.
Во-первых, он включает файл в цикл публикации - я не эксперт по PHP, но многократно включаю один и тот же файл в цикл публикации действительно лучший что нужно сделать?
Включенный файл просто вызывает get_post_meta() для примерно дюжины переменных для пользовательского списка свойств post (например, количество спален и т. Д.). Мое первое предложение - переместить этот раздел кода в основной файл, чтобы он не "включался" снова и снова.
Но что более важно, есть ли лучший способ получить мету сообщения, чем вызывать get_post_meta() дюжину раз для дюжины переменных - возможно, с помощью одного запроса, который получает всю мету сразу, что я можно назначить массиву?
1 answers
Вы можете использовать get_post_custom()
который вернет массив всех метаданных post за один вызов в базу данных, что должно сэкономить несколько вызовов.
А что касается включения файла снова и снова, вы могли бы использовать get_template_part()
чтобы включить файл один раз, который будет содержать весь цикл (хороший пример можно найти в теме двадцать десять или одиннадцать по умолчанию).