Intereting Posts
Включить выдержки из отрывка в теме wordpress двадцать тринадцать Многопроцессор: каждый вариант продукта имеет собственного поставщика Как создать разбитый список всех категорий на моем сайте? Категория публикации обновления SQL по почте Как установить wp_dropdown_users так, чтобы он показывал только авторов? сброс постоянных ссылок после изменения имен страниц Может ли плагин отличать каналы синдикации от фактических просмотров сайта? Постоянные ссылки с term.html и category / term.html без плагина? Расширение поискового запроса с дополнительным значением $ предложения Отображать пользовательские теги на страницах с определенным родителем страницы Как организовать фотографии для нескольких галерей? Как массивные действия обрабатываются в классах таблиц пользовательских списков? Как добавить мета-ящики в «неизвестные» пользовательские сообщения? Запрос сообщений из WordPress с 2 или более условными выражениями Получите все в одном пакете SEO, чтобы использовать настраиваемое поле вместо содержимого

Получите разметку для сообщения без загрузки в шаблон

Я пишу плагин Shortcode, который отображает сообщения по некоторым параметрам, переданным в короткий код. У меня есть wp_query чтобы получить сообщения, и теперь я пытаюсь получить разметку для сообщений в соответствии с файлами шаблонов темы.

По сути, get_template_part – это именно то, что я хочу … кроме того, что он напрямую загружает разметку в шаблон. Я хочу получить разметку для контента, выполнить небольшую постобработку и затем вернуть разметку для короткого кода. По существу,

 $listings = new WP_Query(...); while ( have_posts() ) { $markup .= get_template_part('content', $post->post_type); } return $markup 

Кроме того, это явно не так, get_template_part работает get_template_part . Как получить разметку для сообщения без рендеринга разметки на странице?

Solutions Collecting From Web of "Получите разметку для сообщения без загрузки в шаблон"

Я не мог понять способ WordPress для этого и посмотреть на источник WP, похоже, что это, вероятно, никогда не будет возможным. Тем не менее, я смог получить решение с использованием ванильного PHP путем перенаправления стандартного вывода в буфер и загрузки буфера в переменную.

 $listings = new WP_Query(...); ob_start(); while ( have_posts() ) { get_template_part('content', $post->post_type); } $markup = ob_get_contents(); ob_end_clean(); return $markup 

Если вы ищете только контент из сообщения, прежде чем он загрузится в шаблон, вы, вероятно, ищете get_the_content() .