
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何添加搜索功能
WP集市
2025-09-01
【WordPress教程】
1152人已围观
-
先唠唠为啥要整搜索功能。你想啊,一个WordPress站点要是没搜索,用户得像没头苍蝇似的乱翻,找篇文章得划拉半天,体验直接垮掉。所以加个搜索框,让用户输入关键词就能直达内容,这操作必须得有。
-
默认搜索其实WordPress自带,但可能太基础了。你往主题文件里加个代码就行,比如在
header.php
或者侧边栏塞这么一段:<form role="search" method="get" action="<?php echo esc_url(home_url('/')); ?>"> <input type="text" placeholder="搜点啥..." name="s"> <button type="submit">Go</button> </form>
这玩意儿会自动跳转到搜索结果页,用
$_GET['s']
抓取关键词。 -
但你要是嫌默认搜索太糙,可以用
WP_Query
自己折腾。比如在search.php
模板里循环输出结果:<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php endwhile; else : ?> <p>毛都没找到!换个词试试?</p> <?php endif; ?>
这样能控制显示样式,比默认的列表强点。
-
有时候搜索范围太广,想只搜文章标题?改functions.php:
function search_by_title_only($search, $wp_query) { if (!empty($search) && !empty($wp_query->query_vars['search_terms'])) { global $wpdb; $q = $wp_query->query_vars; $n = !empty($q['exact']) ? '' : '%'; $search = array(); foreach ($q['search_terms'] as $term) { $search[] = $wpdb->prepare("$wpdb->posts.post_title LIKE %s", $n . $wpdb->esc_like($term) . $n); } $search = ' AND ' . implode(' AND ', $search); } return $search; } add_filter('posts_search', 'search_by_title_only', 500, 2);
这段代码把搜索逻辑锁死在标题上,内容不理它。
-
最后扯个插件方案——装个“Relevanssi”或者“SearchWP”,这俩货能加权搜索、模糊匹配,甚至搜自定义字段。不用写代码,后台一激活,配置几下就搞定,适合懒得折腾的兄弟。
总之,WordPress搜索可深可浅,看需求蹦迪就行。代码别瞎粘贴,先备份主题,不然崩了可别嗷嗷叫。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
