使用 wpdb 搜索用户元值


Using wpdb to search usermeta values

我正在尝试在wordpress中创建前端搜索用户简历,并将配置文件的链接作为结果返回。到目前为止,我还没有使用WP用户查询的运气,但我确实偶然发现了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' ) );
?>