付费节点推荐
免费节点
节点使用教程
我们知道默认的Wordpress 只检索文章和页面,不会检索其他比如用户,分类,标签之类的,对于一般博客来说只检索文章就足够了,甚至搜索都是多余的。但是对于内容较多的站点,搜索功能显示分类、标签、用户候选词这些功能就非常有用了。
WordPress有提供插件Search everything,这个插件我曾下载查看过代码,全是自己写的sql,其实Wordpress 很多参数都是带有search参数的,我们直接调用相应函数即可。
下面给大家展示几个常用的,下列代码都需要在搜索模版,也就是search.php
中使用,get_search_query()
可以获取到搜索关键字,如果你想在其他地方使用则search参数替换为其他即可。
分类搜索
<?php $arg = array('search'=>get_search_query()); $categories = get_categories($arg); if(!empty($categories)){ echo '<div class="tag-items">'; foreach( $categories as $category ){ echo '<a class="link" href="' . get_category_link( $category->term_id ) . '" title="Go to '.$category->name.' ">'.$category->name.' </a>'; } echo '</div>'; } ?>
标签搜索
<?php $arg = array('search'=>get_search_query()); $tags = get_tags($arg); if(!empty($tags)){ echo '<div class="tag-items">'; foreach( $tags as $tag ){ echo ' <a class="tag-item" title="浏览和' . $tag->name .'有关的文章" href="'. attribute_escape( get_tag_link( $tag->term_id ) ) .'"> <span>' . $tag->name .'</span> </a>'; } echo '</div>'; } ?>
用户搜索
<?php $arg = array('search'=>get_search_query()); $users = get_users($arg); //大家可以去参考 get_users($arg) 函数 if(!empty($users)){ foreach($users as $search_user){ echo '<p>'.$search_user->display_name.'</p>'; } } ?>
搜索是非常耗费系统资源的,我前段时间因为收到CC攻击,只能关闭wordpress自带的搜索又重新谢了个带防CSRF的搜索,如果你的访问量非常多,服务器又不给力的话建议使用百度或者google的搜索。
参考:get_users函数
未经允许不得转载:Bcoder资源网 » WordPress代码实现分类搜索、标签搜索、用户搜索功能
评论前必须登录!
登陆 注册