我为用户提供了一个user\\u meta,其数组如下所示:
user_saved_posts = [31289,31482,27641]
我想让用户的user\\u meta包含如下数组中的一项:
goal_posts = [31289,31422,77641,41289,21482,17641]
如果用户有一个goal\\u posts项,则数组必须返回它们。我使用下面的代码,但如果我在user\\u meta中有搜索值,则此代码有效
$args = [
\'meta_query\' => [
[
[
\'key\' => \'saved_posts\',
\'value\' => sprintf(\':"%s";\', 31289),
\'compare\' => \'LIKE\'
]
]
]
];
get_users($args);
最合适的回答,由SO网友:hossein naghneh 整理而成
我用另一种方式解决了我的问题(WPDB).我为此编写了一个查询,如下所示:
$goal_posts = [31289,31422,77641,41289,21482,17641];
$sql = "SELECT * FROM wp_usermeta WHERE (meta_key = \'saved_posts\') AND (";
$sql .= implode(" OR ", $goal_posts);
$sql .= \') GROUP BY user_id\';
global $wpdb;
$users = $wpdb->get_results($sql);