A-A+

如何关闭 wordpress 站内搜索功能

2015年01月06日 PHP开源系统 评论 4 条 阅读 170 views 次

wordpress 的站内搜索是直接sql查询数据库,如果被频繁的查询,会导致 wordpress 速度很慢,所以有时候我们需要将这个功能去掉,也就是关闭掉 wordpress 的站内搜索功能,可以使用百度或谷歌的站点搜索来代替。

直接在主题中找到如下的搜索代码,将其删除掉,这样在前台就已经看不到搜索框了。

<form id="searchform" method="get" action="?https://www.xiariboke.net">
  <input type="text" value="" name="s" id="s" size="30" />
	<button type="submit">搜索</button>
</form>

虽然前台已经看不到搜索框了,但搜索功能依然存在,我们试着使用 https://www.xiariboke.net/?s=夏日,这样来搜索,还是会搜索出来内容,也就是没有彻底的关闭掉,还需要在 wordpress 主题的 functions.php文件中加入如下的代码:

function fb_filter_query( $query, $error = true ) {
        if ( is_search() ) {
                $query->is_search = false;
                $query->query_vars = false;
                $query->query = false;
                if ( $error == true )
                        $query->is_404 = true;
        }
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter('get_search_form', create_function('$a', "return null;"));

这样就彻底的去掉了 wordpress 的站内搜索功能。

标签:

4 条留言  访客:4 条  博主:0 条

  1. 爱必应

    在弄个WordPress整合百度站内搜索教程就更完美了!

    • smiling

      整合百度的站内搜索需要备案,好蛋疼的说。

  2. 搜猪

    这种方式还是第一次见!

    • smiling

      如果站内搜索没用的话就可以这样关闭掉。

给我留言