WordPress模糊搜索功能

正在查看 3 个帖子:1-2 (共 2 个帖子)
  • 作者
    帖子
  • 2463924619
    • 文章数量: 31
    @2463924619
    楼主

    WordPress自带的搜索有点拉垮,在网上找到的两种模糊搜索都不能用,有没有大佬能改良一下(纯自嗨)

    1.php分词搜索

    原文: https://codeantenna.com/a/ykr0DjsCsh 

    <?php header("Content-type:text/html;charset=utf-8"); $keywords = "什么是快乐星球?"; for ($i=0; $i <= mb_strlen($keywords); $i++) { // 将关键词的第一个字分割掉 $a = mb_substr($keywords,$i,mb_strlen($keywords),'utf-8'); // 提取每一段关键词的前2个字作为新的关键词,每个关键词进行一次查询,将查询结果加入数组 // 最后返回数组就是最终的查询结果 $b = mb_substr($a,0,2,'utf-8'); echo $b."<br/>"; } ?> 

    2.wordpress模糊搜索功能修改

    原文: https://www.zhaokeli.com/article/1570.html 

    说明:搜索方式为:如“js正则”这个关键字 它会搜索标题中包含这个四个字的文章不管这四个字是不是在一起。

    ////////////////////修改为模糊搜索功能////////////////////////////
    add_filter( 'posts_search','wp_custom_search' );
    function wp_custom_search($search){
        $s=get_query_var('s');
        if(!$s)return $search;//非搜索,直接返回。
       $s=get_query_var('s'); 
       //分解搜索关键字
       $s_arr=mbStrSplit($s,1);
       $s='';
    foreach($s_arr as $a):
    $s.="%".$a;
    endforeach;
        $search = "AND (bk_posts.post_title LIKE '{$s}%')";
    	         //  OR (bk_posts.post_content LIKE '{$s}%') 	   
    			  // AND (bk_posts.post_password = '')";
        return $search;
    }
    function mbStrSplit($string, $len=1) {
        $start = 0;
        $strlen = mb_strlen($string);
        while ($strlen) {
            $array[] = mb_substr($string,$start,$len,"utf8");
            $string = mb_substr($string, $len, $strlen,"utf8");
            $strlen = mb_strlen($string);
        }
        return $array;
    }
    ///////////////////////////////////////////////////////////////////////////

    来自北京, 北京, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy

    装 elasticpress

    来自淄博, 山东省, 中国
    2463924619
    • 文章数量: 31
    @2463924619
    楼主

    谢谢大佬推荐,我去试试

    来自北京, 北京市, 中国
正在查看 3 个帖子:1-2 (共 2 个帖子)
  • 哎呀,回复话题必需登录。

话题信息