百度 | 神马 | 搜狗 | 技术文档 | 学习资料分享 - 记录帝国CMS及运维技术的点点滴滴
你的位置:首页 > 实用IT技术 » 正文

【Wordpress相关】WordPress 技巧:增强 WordPress 用户搜索

发布时间:2020-09-17

作品分类:Wordpress相关  用户  增强  主机  增强  技巧  用户  WordPress

WordPress 技巧:增强 WordPress 用户搜索,

WordPress 后台的用户搜索默认是基于用户的 user_login 和 user_nicename 进行搜索的。有时候我们想增强 WordPress 用户的搜索,希望还能支持通过 display_name, nickname, user_email 进行检索,可以通过在当前主题的 functions.php 文件中添加下面这段代码实现:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>

<?php
/*
Plugin Name: 增强 WordPress 用户搜索
Plugin URI: http://blog.wpjam.com/m/enhance-wordpress-user-query/
Description: WordPress 技巧:增强 WordPress 用户搜索
Version: 0.1
Author: Denis
Author URI: http://blog.wpjam.com/
*/
add_action( 'pre_user_query', 'wpjam_enhance_user_query', 9 );
function wpjam_enhance_user_query($query){
	
    if(!empty($query->query_vars['search'])){
        global $wpdb;
        $keyword = $query->query_vars['search'];
        $keyword = str_replace('*','',$keyword);
        $query->query_where = $wpdb->prepare(" WHERE 1=1 AND (user_login LIKE %s OR user_email LIKE %s OR user_nicename LIKE %s OR display_name LIKE %s OR UM.meta_value LIKE  %s) AND UM.meta_key='nickname'","%".$keyword."%","%".$keyword."%","%".$keyword."%","%".$keyword."%","%".$keyword."%");
        $query->query_fields .= " ,$wpdb->users.display_name, UM.meta_value as nickname";
        $query->query_from .= " left join $wpdb->usermeta UM on ($wpdb->users.ID=UM.user_id) ";
    }
}

本站推荐使用的主机:,国外主机建议使用

Top