J'essaie de rechercher des articles dans des taxonomies spécifiques, mais chaque fois que je le fais, j'obtiens des résultats de toutes les autres pages au lieu de la recherche par Wordpress dans la catégorie sélectionnée dans la taxonomie.
J'ai nommé ma taxonomie: "publication_categories". Il contient toutes les catégories pour un type de publication personnalisé que j'ai nommé "publication". C'est le code que j'ai pour mon custom-search.php:
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<div class="alignleft">
<select name="taxonomy">
<option value="0">Select...</option>
<?php
$theterms = get_terms('publication_categories', 'orderby=name');
foreach ($theterms AS $term) :
echo "<option value='".$term->slug."'".($_POST['publication_categories'] == $term->slug ? ' selected="selected"' : '').">".$term->name."</option>\n";
endforeach;
?>
</select>
</div>
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" class="searchinput" />
<input type="submit" id="searchbutton" value="Search" class="btn" />
</form>
Je vois quelques problèmes avec votre code.
alors votre formulaire devrait ressembler à quelque chose comme ça:
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<div class="alignleft">
<select name="publication_categories">
<option value="0">Select...</option>
<?php
$theterms = get_terms('publication_categories', 'orderby=name');
foreach ($theterms AS $term) :
echo "<option value='".$term->slug."'".($_GET['publication_categories'] == $term->slug ? ' selected="selected"' : '').">".$term->name."</option>\n";
endforeach;
?>
</select>
</div>
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" class="searchinput" />
<input type="hidden" name="post_type" value="publication" />
<input type="submit" id="searchbutton" value="Search" class="btn" />
</form>
Peut-être cela ajouté à votre formulaire?
<input type="hidden" name="post_type" value="publication" />