Intereting Posts
Как изменить URL-адрес меню на хеширование? Woocommerce не работает с ajax Многие для многих таксономий или переписывают правила? Grandchildtheme (плагин) добавить header.php (не существует в дочерней теме) добавление моих сообщений (сообщений автора) в меню Пользовательский тип запроса типа запроса на запрос мультимедиа WP_Post_List_Table :: get_views – Учет сообщений для фильтров? Получить URL категории для текущей публикации Пользовательский плагин для получения связанных постов по категориям Платный плагин-член с некоторыми специальными функциями Добавить пользовательский аргумент в WP_Query и изменить предложение SQL where Странное поведение тега привязки (ссылки на странице, на внешних страницах нет) Преобразование холста в изображение и загрузку изображения на сервер Добавить виджет на статическую главную страницу Медиа-библиотека отображается только для администратора. Не отображается редактор или ниже

Будет ли я видеть производительность, если я использую собственные API-вызовы, такие как get_the_title () вместо $ post-> post_title?

Допустим, у меня уже есть объект $ post через какой-то более ранний процесс цикла через массив идентификаторов и использование get_post () для каждого из них, сохраняя результирующий объект в некотором массиве.

Позже я хочу пройти через этот массив и сделать что-то с каждым сообщением. У меня уже есть объект $ my_post, поэтому я мог бы echo $my_post->post_title , или я мог бы получить фантазии и echo apply_filters('the_title', $my_post->post_title, $my_post->ID) или я мог бы просто использовать родной get_the_title($my_post->ID) .

Вот где мой вопрос о производительности приходит. Насколько надежным является собственный кеш (я не говорю о каком-то сумасшедшем плагине, просто встроенный wp_cache_get($post_id, 'posts') т. Д.)?

Я предполагаю, что я спрашиваю: какова вероятность того, что get_the_title () вернется в БД и снова захватит пост, в отличие от использования кеша, и буду ли я лучше с точки зрения производительности, используя данные объекта, которые у меня уже есть? Очевидно, вы получаете больше сахара, если используете встроенный материал. Но стоит ли возвращаться к БД?

Теги шаблонов зависят от глобальной $post (если вы явно не предоставляете что-то еще тем, кто ее поддерживает).

  • они получают что-то из этой переменной (нет причин для этого в базе данных)

  • или они этого не делают (тогда они терпят неудачу, потому что не имеют понятия, что вы хотите)

При нормальных обстоятельствах нет причин беспокоиться о влиянии шаблонных тегов. Это только вступает в игру, если вы начинаете разбираться с сумасшедшим количеством сообщений и / или применять чрезмерно сложные фильтры.

Обновление после обсуждения в комментариях

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