Tengo varios formularios de búsqueda en mi sitio y quiero que muestren resultados diferentes. Mi sitio web tiene una jerarquía muy estricta y el formulario de búsqueda en un sitio principal solo debería mostrar los resultados de sus páginas secundarias.
Mi plan era incluir diferentes campos ocultos en las diferentes páginas principales que contienen el ID de esa página en particular. En el search.php
, quería procesar los resultados y filtrar las páginas y las publicaciones que no tienen relación con la página principal.
¿Hay una manera fácil de lograr esto?
Gracias de antemano.
EDIT 1
Este es misearch.php
<?php
if (have_posts()){
while(have_posts()){
the_post(); ?>
<div>
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
<p><?php echo get_the_author(); ?> - <?php echo get_the_date(); ?></p>
<p><?php echo get_the_excerpt(); ?></p>
</div>
<?php
}
} else{ ?>
<h3>Sorry</h3>
<p>We are sorry but we could not find any matching articles on our site. Please try again with an other search request.</p>
<?php
get_search_form ();
}
?>
Y el searchform.php
:
<form role="search" method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label>Search...</label>
<input type="text" name="s" id="s" value="<?php echo get_search_query(); ?>" placeholder="Search..." />
<input type="hidden" name="post_parent" value="<?php echo (int)get_the_ID(); ?>" />
<button type="submit"><i class="fa fa-search" aria-hidden="true"></i></button>
</form>
EDIT 2
También agregué <?php wp_reset_query(); ?>
antes del if(have_posts()){}
. Esto resulta en ningún cambio. Las páginas todavía se muestran.