很多时候我们往往只想搜索特定分类下的文章,但是大多数WordPress主题提供的搜索功能只支持搜索全部分类下的文章。那怎么办呢?修改一下主题模板中搜索框代码就可以了,代码如下:
<form action="<?php bloginfo('home'); ?>" method="get">
<div>
<input type="text" value="<?php echo wp_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管理后台,进入文章分类页面,各个文章分类标题的链接类似,http://www.example.com/wp-admin/categories.php?action=edit&cat_ID=17 这其中cat_ID=17,17就是该分类的id。
搜索特定的分类不错
可以做的更细化一些。
管理员 明镜: 2010年09月19日 10:09 上午 ∇地下1层
不过,全站搜索和特定栏目搜索,对于搜索结果来说,貌似没有多大的区别啊。还没发现有哪种较好的WordPress搜索算法,能够比较智能型的搜出读者的所需。