如何通过jQuery高亮搜索关键词
高亮搜索关键词是一种有效优化 WordPress 搜索结果页面的方法,我在网络上看到了一些实现这个功能的方法,但是我没找到一种同时高亮标题和文章内容的方法,今天我将带给你这种在 WordPress 博客的搜索结果页面上同时高亮标题和内容的技巧。
修改
1.复制粘贴以下代码到你的 functions.php 文件
function hls_set_query() { $query = attribute_escape(get_search_query()); if(strlen($query) > 0){ echo ' <script type="text/javascript"> var hls_query = "'.$query.'"; </script> '; } } function hls_init_jquery() { wp_enqueue_script('jquery'); } add_action('init', 'hls_init_jquery'); add_action('wp_print_scripts', 'hls_set_query');
2.复制粘贴一下代码到你当前主题的 header.php 文件 (在</header> 标签前)
<style type="text/css" media="screen">
.hls { background: #D3E18A; }
</style>
<script type="text/javascript">
jQuery.fn.extend({
highlight: function(search, insensitive, hls_class){
var regex = new RegExp("(<[^>]*>)|(\\b"+ search.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1") +")", insensitive ? "ig" : "g");
return this.html(this.html().replace(regex, function(a, b, c){
return (a.charAt(0) == "<") ? a : "<strong class=\""+ hls_class +"\">" + c + "</strong>";
}));
}
});
jQuery(document).ready(function($){
if(typeof(hls_query) != 'undefined'){
$("#post-area").highlight(hls_query, 1, "hls");
}
});
</script>3.非常重要: 接下来请确保改换”post-area”(第二步中)为你要显示高亮搜索结果的区域的 html ID 标签。
4.选项: 你同样可改变高亮显示的外观通过修改在第二步中“.hls” 标签的CSS样式。
完成效果

下面是一些我喜欢这种方法的原因:
1.jQuery 能高亮你希望 HTML 元素内的任何文字,不管此文字是在标题内还是在文章内容里,你只需改变需要的 ID 标签。
2.一些简单的搜索关键词高亮根本没必要使用任何插件,这种方法能让你在15分钟内修改完主题,使搜索结果页面更加友好。
3.能高度自定义
你有更好的解决方法么?请在评论中和我们分享。
原文地址:How to Highlight Search Terms with jQuery
中文翻译:如何通过jQuery高亮搜索关键词
学习
额 有空了试下 嘿嘿~
不错,学习了.
太复杂了,还是简单点好
http://www.hongmop.cn/wordpress/wordpress-how-to-highlight-search-keywords.html