php - 使用 wpdb 搜索用户元值

标签 php mysql search wordpress

我正在尝试在 wordpress 中创建前端搜索用户简介,并返回配置文件的链接作为结果。到目前为止,我在使用 WP User Query 方面运气不佳,但我确实偶然发现了 wpdb 函数。

到目前为止,我有一个简单的 mysql 查询,如下所示:

SELECT * FROM `wp_usermeta` WHERE `meta_value` LIKE '%graphic%'

但是我很确定当我使用 wpdb 函数时我把语法搞砸了:

<?php

$search = 'graphic';

global $wpdb;
$results = $wpdb->get_results($wpdb->prepare(
    "
    SELECT * 
    FROM {$wpdb->prefix}usermeta 
    WHERE `meta_value` LIKE $search
    ",
));
if(!empty($results)){
    $return = $results;
} else{
    $return = false;    
}
return $return;  ?>

我的主要问题是: 有更好的方法来执行此搜索吗?
和 使用 WPDB 执行 LIKE 关键字搜索的正确语法是什么?

最佳答案

试试这个。

<?php

    $search = 'graphic';

    $user_query = new WP_User_Query( array( 'meta_key' => 'META_KEY', 'meta_value' => $search, 'meta_compare' => 'LIKE' ) );

?>

关于php - 使用 wpdb 搜索用户元值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120003/

相关文章:

php - 在单个查询中获取所有推荐用户?

php - Symfony Guard 组件和无状态身份验证 (Shibboleth)

php - 使用 PHP 更新外键值

c++ - Eclipse IDE,正则表达式搜索和替换

c - Linux 内核,const 转换函数

php - 调用 JavaScript 并传递服务器变量

php - PHP 函数名是否区分大小写?

mysql - 在 MySQL 中存储发票

php - 使用更多子查询

algorithm - 索引 csv 文件中的列