Дилемма поиска FoRM || Форма поиска Templating

В search.php меня есть этот код →

  <div class="main col"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php get_template_part('content',get_post_format()); ?> <?php endwhile; ?> <?php else: ?> <?php get_template_part('content', 'none'); ?> <?php endif; ?> </div> 

На самом деле, он вытаскивает контент из content.php, который был в основном создан для index.php. Есть так много вещей, которые мне не нужны в моем search.php

Позвольте мне объяснить подробно, но прежде чем я это сделаю, позвольте мне показать вам мою живую страницу здесь , которая является веб-сайтом WordPress.

Так что в основном в результатах моей поисковой страницы я не хочу этих вещей →

  1. https://www.screencast.com/t/vZfIUrOc87
  2. Я также не хочу этого много текста → https://www.screencast.com/t/cG0nj0lcHb
  3. Я также не хочу, чтобы ящик автора → https://www.screencast.com/t/PXxueQeeVKF5

И что же мне делать? Мне нужно создать отдельный файл, отличный от content.php, например this → content-search.php или In content.php. Я должен указать некоторое условие If___ else___ для настройки страницы результата поиска и в то же время индекса. php не должно быть затронуто.

Solutions Collecting From Web of "Дилемма поиска FoRM || Форма поиска Templating"

Проверка показа результатов поиска

is_search() условное выражение is_search() зарегистрированное здесь .

Search.php и Content-search.php

Search.php – это файл шаблона, который соответствует отображению результатов запроса формы поиска. Если он отсутствует в теме (это означает, что нет search.php ), то WordPress по умолчанию использует index.php и использует это.

Изменения в search.php не повлияют на index.php.

Аналогичным образом будет content-search.php , и если его не будет найдено, будет использоваться content.php .

Читайте о иерархии шаблонов.

Пользовательская настройка

Тем не менее, если вы еще этого не сделали, убедитесь, что вы используете тему «Дети» при настройке.

Codex: О детях.

После того, как вы создали свою дочернюю тему, вы можете создать копию родительской темы search.php и поместить ее в каталог дочерних тем.

Отсюда вы можете создать копию либо content.php, либо поместить его в свою дочернюю тему, либо скопировать его и переименовать в content-search.php.

В зависимости от того, где находятся элементы, которые вы пытаетесь удалить, вам, возможно, придется выполнить изменения для обоих вновь созданных файлов дочерних тем ( search.php и content.php OR content-search.php ), чтобы достичь того, чего вы хотите.


Но в отношении вашей заботы о лучших практиках конкретные шаблоны помогают уменьшить условные утверждения в файлах тем. Детские темы не дают вам потерять настройки, когда темы обновляются разработчиками. Надеюсь, это поможет.