成航先森 成航先森

成都航院计算机系一个学生的个人博客

 

建站分享

最新文章

建站分享
当前位置: 首页 » 建站分享 » WordPress搜索结果中关键词高亮显示

WordPress搜索结果中关键词高亮显示

编辑:狂族晨曦 来源:建站分享WordPress技巧 日期:2015-09-07 阅读: 1,961 次 抢个沙发 百度已收录

最后更新时间:2015-10-10

在国内,我们经常说的一句话有“百度一下”。百度是国内搜索引擎的巨头,我们几乎天天用它搜索,但真的自己要做个搜索功能的时候,还真有点小激动呢。

WordPress是个很强大的博客后台软件,它也提供了很简单的搜索功能。我们今天要做的,就是改造一下我们的搜索功能,让你搜索的关键词能在结果中高亮。

实现效果可以在本站右上角尝试。具体效果如下:

效果预览

实现代码

把以下代码加入WordPress主题目录下的搜索模板文件(一般是search.php)中的主循环中:

<?php
$title = get_the_title();
//300是摘要字符数,......是结束符号。
$content = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......"); 
$keys = explode(" ",$s);
$title = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color:#953b39;">\0</strong>',$title);
$content = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color:#953b39;">\0</strong>',$content); 
?>

然后在需要显示标题的地方使用以下代码显示

<?php echo $title; ?>

在需要显示摘要的地方使用以下代码

<?php echo $content;?>

应该是很简单的。代码加入search.php之后应该就会有效果。记住要把这些代码放在一个循环中。不要把主代码放在search.php中,而下面的显示标题和内容的代码放在引入的列表文件。

补充:使用过程中关键字后面加空格搜索出现乱码。换以下代码:

<?php
$s = trim(get_search_query()) ? trim(get_search_query()) : 0;
$title = get_the_title();
//300是摘要字符数,......是结束符号。
$content = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......"); 
if($s){$keys = explode(" ",$s); 
$title = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color: #953b39;">\0</strong>',$title); 
$content = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color: #953b39;">\0</strong>',$content); 
}?>

历史上的今天:

标签:
本文参考自:http://yusi123.com/2171.html,由狂族晨曦(capjsj.cn)整理编辑,本文共1451个字。
本文链接地址:https://www.capjsj.cn/wp_ssjgzgjcglxs.html , 转载请保留本说明!
已有 0 位"计工"发布了激烈的评论,还有N多人围观笑而不语评论
的头像
欢迎发表评论
取消评论

表情
疑问调皮伤心抠鼻黑线微笑可爱奸笑震惊吓到了撇嘴大兵忍不住笑笑狂骂狂怒噢?鼓掌酷⊙﹏⊙b汗鄙视大哭嘿嘿

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
官方微信
发表评论 返回顶部