对于使用过wordpress网站的朋友都会很熟悉wordpress的搜索,比较单一,就是一个搜索框,是针对全站搜索的,也就是搜索内容覆盖整个网站,针对性不强,搜索出来的结果有很多不是我们想要的。有没有一种方法,可以让wordpress CMS主题的搜索范围缩小点,就是说,在一定的范围内容搜索,这样一来,对于搜索结果来说,就会精准一些。这就是本章的介绍内容——为wordpress CMS主题提升搜索功能——按分类来搜索,效果如下图:
上图是我本地搭建的一个网站,我点击选择分类中的“体育爱好”,在搜索框中输入“SEO”,然后点击“搜索”按钮,就会搜索出分类“体育爱好”分类下的所有包含“SEO”的文章,而不会搜索其它分类的,如下图:
这个wordpress搜索功能怎么实现的呢?其实,实现起来也不难,方法如下。
把wordpress CMS主题的searchform.php文件里的代码全部删除,把下面的代码添加进去:
<?php
$args = array(
'hide_empty' => 0
);
$categories = get_categories( $args );
//上面的代码获取所有分类
?>
<form role="search" method="get" class="search-form" action="<?php echo home_url(); ?>">
<label>
<span class="category-text">分类:</span>
<select name="cat">
<option value="">所有分类</option>
<?php foreach($categories as $category){ ?>
<option value="<?php echo $category->term_id; ?>"><?php echo $category->name; ?></option>
<?php } ?>
</select>
</lable>
<label>
<span class="screen-text">搜索:</span>
<input type="search" class="search-field" placeholder="Search…" value="" name="s" title="Search:" />
</label>
<input type="submit" class="search-submit" value="搜索" />
</form><br /><br />
通过上面这段代码就为wordpress主题添加了按分类搜索的功能模块。也许这样的搜索功能不是必需的,但对于wordpress CMS主题的开发者,有时会碰到这样的客户,那时,就可以派上用场了。
教程是死的,
人是活的,
我们在学完教程后,
要学会灵活应用,
只有充分地掌握及灵活应用,
才是我们学习的最终目的。