WordPress Get-Post без контента (уменьшить накладные расходы)
-
09-10-2019 - |
Вопрос
Сценарий: Я создаю складные панели в боковой панели и отображение всех категорий, так как Divs и все сообщения ссылки в этих категории Divs. Достаточно просто. Я получил все категории get_categories('orderby=name&order=ASC')
И теперь связываясь через каждую категорию, чтобы получить все сообщения в каждой категории.
Проблема: Код get_posts('nopaging=1&category='.$category->cat_ID)
дает мне все сообщения, но с content
и другие вещи тоже. Все, я хочу, это постоянная ссылка на пост. Вот и все. Я верю, что использовать get_posts
Таким образом, создаст большие накладные расходы, поскольку в более чем 20 категориях около 1000 сообщений.
Решение: Функция или кусок кода, которые могут просто получить все сообщения в категории с постоянной ссылкой и без других вещей, особенно контента, поскольку это самый большой накладной расход.
Решение
Посмотрите на пользовательский запрос, чтобы извлечь именно то, что вы хотите: http://codex.wordpress.org/displaying_posts_using_a_custom_select_query.
Вы можете также использовать WP_RESET_QUERY () после того, как вы закончите с вашим пользователем вызовом, потому что выбор запроса может быть веселым GOTCHA в WordPress, когда все начинают переопределять друг друга: http://codex.wordpress.org/function_Reference/WP_RESET_QUERY.
Отредактировано после вашего комментария: вам нужно использовать присоединение между WP_TERM_RELATIONSHIPS и WP_POSTS, возможно, даже трехсторонним соединением с WP_TERM_TAXAXONOMY, брошенной для хорошей меры.
Быть абсолютно честным, я бы даже не буду беспокоиться - это много работы не большая выгоды. 1000 записей на самом деле не так много, и WordPress уже использует индексы на WP_Posts для оптимизации его запросов. Вы, вероятно, получите гораздо лучшие результаты, используя плагин WP Super Cache для создания статических HTML-файлов для посетителей ( http://wordpress.org/extend/plugins/wp-super-cache/ ) Чем дублирование Core WP запросов с несколькими столбцами удалены из выбора.
Другие советы
Вы уже пытались использовать:
the_permalink()
http://codex.wordpress.org/function_reference/the_permalink.
get_permalink( $id )
http://codex.wordpress.org/function_reference/get_permalink.