Работать вокруг для условных проверок внутри цикла в search.php?

Основная проблема. Я не могу использовать условные проверки WordPress (is_page (), is_front_page () и is_page_template ()) внутри основного цикла моего файла search.php.

Я знаю, что Codex утверждает, что is_page () и другие условные проверки не работают в цикле. Поэтому пытаюсь разобраться в работе.

Цель. Я использую расширенные настраиваемые поля для всего содержимого, введенного на главной странице и некоторых других шаблонов, а не для использования редактора страниц по умолчанию. Когда кто-то ищет, я хочу, чтобы каждый возвращенный элемент имел изображение с изображением (миниатюра сообщения), название, постоянную ссылку и описательный текст, который был введен в поле ACF, так как я не могу использовать the_content () или the_excerpt ().

Поэтому внутри цикла для моего search.php, я делаю некоторые проверки, чтобы узнать, какой тип / тип поставленного объекта возвращается, или какой шаблон используется, чтобы я мог получить соответствующий контент.

Я смог использовать 'page' == get_post_type () в качестве альтернативы тому, где я обычно использовал is_page (). Я просто не могу понять, как проверить, есть ли его передняя страница или если это страница с использованием определенного шаблона. Как я уже говорил, is_front_page () и is_page_template () НЕ работают внутри основного цикла.

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

Хотя любая помощь очень ценится, все, о чем я прошу, пожалуйста, не рекомендуйте плагин для этого, я хочу сделать это программно.

Заранее спасибо!

Хорошо, поэтому я до сих пор не могу найти лучший способ проверить, является ли возвращаемое сообщение статической главной страницей (без получения и сравнения URL-адреса). Однако я выяснил, как проверить, использует ли возвращенный элемент определенный шаблон страницы, используя get_page_template_slug (). Я не знал, что эта функция существует, прежде чем приступать к этой проблеме. К счастью, на моей первой странице используется настраиваемый шаблон страницы, поэтому в настоящее время не требуется работа для is_front_page ().

Поэтому, где я обычно использовал is_page_template («templates / template-name.php»), я смог проверить, используя следующее:

$id = get_the_ID(); $template_slug = get_page_template_slug( $id ); if( $template_slug === 'templates/template-name.php' ) : do stuff endif;