@freeman0204

Когда использую поиск в WP то везде выводит результат, а если нахожусь на single.php то ничего не происходит, почему?

Вот код search.php. Вставлял подобные строки в сингл не помогло. Как сделать что бы находясь на сингл(открытой статье) я мог искать что то в поиске?

<h4><?php echo 'Результат поиска: ' . '<span>' . get_search_query() . '</span>'; ?></h4>
          <?php if ($wp_query->have_posts()) : ?>

<?php
else :
echo '<p class="nothing-found">Извините, по Вашему запросу ничего не найдено</p>';
endif;
?>


<?php get_header(); ?>

<main>
<div class="container index">
    <section class="posts">
        <div class="innerwrap-posts">

<h4><?php echo 'Результат поиска: ' . '<span>' . get_search_query() . '</span>'; ?></h4>
          <?php if ($wp_query->have_posts()) : ?>

<?php while ($wp_query->have_posts()) : $postcounter = $postcounter + 1; $wp_query->the_post();?>

					<article>

							<h2><a href="<?php the_permalink() ?>"><?php the_title() ?></a></h2>
							<div class="images">
									<a href="<?php the_permalink() ?>">
										<?php the_post_thumbnail('full') ?>
										<?php the_content() ?>
									</a>
							</div>
							<div class="overwrap-info">
									<div class="head">
										<?php the_category(', ' ); ?>
									</div>
									<div class="overwrap-views">

<span class="views"><?php if(function_exists('the_views')) { the_views(); } ?></span>

											<div class="comments"><a href="">25</a></div>
									</div>
							</div>

					</article>

				<?php endwhile; ?>
<?php
else :
echo '<p class="nothing-found">Извините, по Вашему запросу ничего не найдено</p>';
endif;
?>

        </div>


          <?php wp_pagenavi();  ?>

    </section>
		<?php get_sidebar(); ?>
</div>
 </main>


<?php get_footer(); ?>
  • Вопрос задан
  • 745 просмотров
Решения вопроса 1
alone_lion1987
@alone_lion1987
Веб-разработчик
Может быть у вас что-то не настроено или настроено неверно.
Сперва вам нужно вынести форму поиска в отдельный шаблон, этот шаблон в теме называтся searchform.php , в нем примерно такой код, в большинстве случаев он стандартный:
<form id="searchform" class="navbar-search" method="get" action="<?php echo home_url( '/' );?>">
<input type="text" class="search-query" placeholder="Поиск" name="s" id="s" value = "<?php echo get_search_query();?>">
</form>

Затем нужно вызывать данную форму в шаблоне, который подключается ко всем страницам, например это шаблон шапки, header.php, ниже функция выведет код формы из файла searchform.php , вам нужно будет просто эту функцию вызвать в том месте в котором вы хотите:
<?php get_search_form(); ?>
После этого уже вам нужно создать файл search.php, в папке темы и реализовать примерно такую логику:
<? if( have_posts() ):						   
       while(have_posts()): the_post(); ?>
        // вывод...
      <? endwhile; ?>
<? else: ?>
<p> По запросу &laquo;<? the_search_query(); ?>&raquo; ничего не найдено</p>
<? endif; ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы