很多时候我们往往只想搜索特定分类下的文章,但是大多数 WordPress 主题提供的搜索功能只支持搜索全部分类下的文章。那怎么办呢?修改一下主题模板中搜索框代码就可以了,代码如下:

<form action=<?phpbloginfo(‘home’);?>method=“get”>

    <div>

        <input type=“text”value=<?phpechowp_specialchars($s,1);?>name=“s”id=“s”/>

        <input type=“hidden”name=“cat”value=“22”/>

        <input type=“submit”id=“searchsubmit”value=“Search”/>

    </div>

</form>

搜索特定分类的方法是,给搜索表单附带一个 name=”cat” 的 input 元素即可,input 域的值即为分类的 id 号;如果不给搜索表单提供分类 id,则默认搜索全部分类下的文章。以上代码第四行中 value=”22″,22 即分类的 id 号,这样该搜索框只搜索分类 id 22 下的文章。
如果你想让用户自行选择他想要搜索的分类,可以用下拉列表形式,将第四行代码改成如下代码即可:

<select name=“cat”class=“search-option”>

    <option value=“11”selected=“selected”> 搜音乐</option>

    <option value=“22”> 搜图片</option>

</select>

基于以上思想,其他搜索方式,就有待大家去挖掘了。
分类 id 的获取方式:进入 WordPress 管理后台,依次进入 文章 -> 分类目录,各个分类标题的链接类似,wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=888&post_type=post,这其中 tag_ID=888,888 就是该分类的 id