使用wpdb搜索usermeta值

时间:2014-11-25 06:19:51

标签: php mysql wordpress search wpdb

我尝试在wordpress中创建前端搜索用户bios并返回到个人资料的链接作为结果。到目前为止,我还没有使用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关键字搜索的正确语法是什么?

1 个答案:

答案 0 :(得分:0)

试试这个。

<?php

    $search = 'graphic';

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

?>