限定wordpress 只搜索文章标题

2018-11-02    来源:学做网站论坛

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

在网站制作课程中,我们讲解了如何在自己做网站时,给wordpress网站添加搜索功能。(方法见:如何制作wordpress 网站搜索功能)

通过这种方法制作的搜索功能,用户在搜索时,是搜索整个网站的内容,包括文章标题,文章内容。只都任一项包含了用户搜索的关键词都会显示出来。

为了让搜索结果更准确,我们可以限定wordpress 只搜索文章标题,只有文章标题包含了用户搜索的关键词,才能被显示出来。

方法/步骤

  1. 使用管理员用户名和密码登录自己网站的后台;
  2. 在后台左侧菜单找到【外观】-【编辑】;限定wordpress 只搜索文章标题步骤1
  3. 打开自己的模板函数functions.php;限定wordpress 只搜索文章标题步骤2
  4. 在第一个<?php 标签下方粘贴以下的函数代码;限定wordpress 只搜索文章标题步骤3
    
    
    /**
    ?* 限定wordpress 只搜索文章标题
    ?* https://www.xuewangzhan.com/wpbbs/17904.html
    ?*/

    function __search_by_title_only( $search, &$wp_query )
    {
        global $wpdb;
    ?
        if ( empty( $search ) )
    ?       return $search; // skip processing - no search term in query
    ?
    ?   $q = $wp_query->query_vars;    
    ?   $n = ! empty( $q['exact'] ) ? '' : '%';
    ?
    ?   $search =
    ?   $searchand = '';
    ?
    ?   foreach ( (array) $q['search_terms'] as $term ) {
    ?      $term = esc_sql( like_escape( $term ) );
    ?      $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
    ?      $searchand = ' AND ';
    ?   }
    ?
    ?   if ( ! empty( $search ) ) {
    ?      $search = " AND ({$search}) ";
    ?      if ( ! is_user_logged_in() )
    ?          $search .= " AND ($wpdb->posts.post_password = '') ";
    ?   }
    ?
    ?   return $search;
    }
    add_filter( 'posts_search', '__search_by_title_only', 500, 2 );
  5. 保存修改过的函数文件,即可实现限定wordpress 只搜索文章标题的功能。

注意

如果你做网站的使用,仍然使用低版本的wordpress程序,可以通过修改程序文件的方式实现限定wordpress 只搜索文章标题功能。方法见:wordpress网站按标题搜索。

标签: 代码 搜索 网站搜索 网站制作

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:WordPress上传中文名图片自动重命名

下一篇:WordPress 如何修改用户角色名称