Intereting Posts
Получать сообщения между конкретными идентификаторами Как я могу получить текущее значение пользовательского поля? Замена страниц архива терминов / таксономии с поисковыми запросами Является ли `is_sidebar_active ()` устаревшим и показывает ошибку? Какую версию WordPress использовать для улучшения совместимости с плагинами? Как отображать контент для пользователей, которые не вошли в систему вместо 404 в Частные сообщения? Журналы удаления WordPress Media Как правильно добавить JQuery в тему WP? Перенаправить страницу блога на последнее сообщение? Сообщения в блоге только для пользовательских сообщений Шаблон пользовательского фида Yoast как функция add_feed? Предложения по миграции WPMU (расширенный) WOO Commerce – две акции для одного продукта Как переопределить функцию в functions.php родительской темы? Пользовательская функция для формы поиска

Условное внутреннее выражение результата поиска

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

Отображение соответствующей метаинформации прост, но это условный код, с которым я боюсь, экспериментировал с различными перестановками if (is_single ()), если (is_page ()), и эхо я теряюсь среди фигурных скобок , полуколонны, кавычки и что-не.

Помогите оценить. Пожалуйста, / спасибо / др.

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

То, что вы хотите в этом случае, вероятно, get_post_type() и сделать ваш результат условным на результат.

Убедитесь, что вы находитесь внутри цикла.

 <?php while ( have_posts() ) : the_post(); ?> <?php if ( get_post_type() == 'page' ) : ?> <?php /* well, this is a page */ ?> <?php else : ?> <?php /* any other post_type like post, attachment other CTP */ ?> <?php endif; ?> <?php endwhile; ?> 

Как и Rarst, вы можете написать условия для любого другого типа сообщений, используя get_post_type() и добавить дополнительный else if ( 'my_cpt' === get_post_type() ) {} s до окончательного else {} .