特定の分類法で投稿を検索しようとしていますが、検索するたびに、分類法で選択したカテゴリ内で検索するのではなく、他のすべてのページから結果が得られます。
私は私の分類法を "publication_categories"と名付けました。それは私が "出版物"と名付けたカスタム投稿タイプのためのすべてのカテゴリを含みます。これは私が私の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>
あなたのコードにいくつか問題があります。
したがって、フォームは次のようになります。
<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>
おそらくこれはあなたのフォームに追加されましたか?
<input type="hidden" name="post_type" value="publication" />