当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

WordPress代码实现分类搜索、标签搜索、用户搜索功能

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 9:20:56

-->

我们知道默认的Wordpress 只检索文章和页面,不会检索其他比如用户,分类,标签之类的,对于一般博客来说只检索文章就足够了,甚至搜索都是多余的。但是对于内容较多的站点,搜索功能显示分类、标签、用户候选词这些功能就非常有用了。

WordPress有提供插件Search everything,这个插件我曾下载查看过代码,全是自己写的sql,其实Wordpress 很多参数都是带有search参数的,我们直接调用相应函数即可。

下面给大家展示几个常用的,下列代码都需要在搜索模版,也就是

1
search.php

中使用,

1
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函数


WordPress代码实现分类搜索、标签搜索、用户搜索功能