Как я могу получить post meta() наиболее эффективным способом?


У меня есть пользовательский тип публикации для сайта недвижимости, и тема отображает 9 свойств в сетке на домашней странице. Я не думаю, что это написано ужасно эффективно - я получаю около 160 запросов на главной странице, и только около 20 из этих запросов от плагинов, поэтому тема нуждается в некотором улучшении.

Во-первых, он включает файл в цикл публикации - я не эксперт по PHP, но многократно включаю один и тот же файл в цикл публикации действительно лучший что нужно сделать?

Включенный файл просто вызывает get_post_meta() для примерно дюжины переменных для пользовательского списка свойств post (например, количество спален и т. Д.). Мое первое предложение - переместить этот раздел кода в основной файл, чтобы он не "включался" снова и снова.

Но что более важно, есть ли лучший способ получить мету сообщения, чем вызывать get_post_meta() дюжину раз для дюжины переменных - возможно, с помощью одного запроса, который получает всю мету сразу, что я можно назначить массиву?

Author: gillespieza, 2011-08-18

1 answers

Вы можете использовать get_post_custom() который вернет массив всех метаданных post за один вызов в базу данных, что должно сэкономить несколько вызовов.

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

 4
Author: Bainternet, 2011-08-18 19:42:06