WordPress网站搜索结果只有一篇文章代码实现自动跳转到该文章

  • A+
所属分类:网站建设

站内搜索是每个WordPress网站必备功能。虽然很重要,但是很少人却注意到搜索结果页面的优化设计。

虽然WordPress网站搜索功能很方便。但是在文章数量较少或者搜索关键词较为复杂的时候,匹配出来的搜索结果可能就只有一篇文章。

如果边栏设置小工具很多,此时页就会显得左右失调,不是太平衡,影响WordPress网站页面美观。

考虑到用户体验,需要对WordPress网站搜索结果页面进行一下适当调整。

WordPress搜索结果只有一篇文章的时候,让WordPress网站搜索结果页面自动跳转到这篇文章。

这样做有效地避免搜索结果页面单独一篇文章而侧边栏小工具多左右不平衡的尴尬情况。也省去了用户二次点击的动作,直接跳转到该文章,在一定程度上优化了用户体验。

实现这种跳转,只要在WordPress主题functions.php添加代码即可。

//搜索结果只有一篇文章时跳转到该文章
add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
exit;
}
}
}

将以上代码放入functions.php最后一个?>前即可。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • avatar MAY的SEO博客 3

      这个可以试试,感谢分享。

        • avatar 机器猫 Admin

          @MAY的SEO博客 非常好的代码。。。

            • avatar MAY的SEO博客 3

              @机器猫 我发现Begin主题自带这个功能。

                • avatar 机器猫 Admin

                  @MAY的SEO博客 应该是整合进去了。。。这个功能非常方便。我再想如果搜索没有结果,是不是可以直接推送一个内容相关的文章进去。或者直接推送任意一篇文章。虽然体验不好。