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

付费节点推荐


免费节点


节点使用教程


我们知道默认的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代码实现分类搜索、标签搜索、用户搜索功能

相关推荐

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册