我可以让用户使用$all_users = get_users(['meta_key' => 'first_name', 'meta_value' => 'john']);
,但我现在遇到一个小问题,因为我尝试获取的功能的元值是序列化的。
我已从表格中复制了一行,如下所示。
103 wp_capabilities a:1:{s:12:"cs_candidate";b:1;}
我可以获取值并将其反序列化,但不确定是否有办法在WP中执行此操作。
要添加更多说明,我指的是此页面https://codex.wordpress.org/Function_Reference/get_users或以下功能:
<?php $args = array(
'blog_id' => $GLOBALS['blog_id'],
'role' => '',
'role__in' => array(),
'role__not_in' => array(),
'meta_key' => '',
'meta_value' => '',
'meta_compare' => '',
'meta_query' => array(),
'date_query' => array(),
'include' => array(),
'exclude' => array(),
'orderby' => 'login',
'order' => 'ASC',
'offset' => '',
'search' => '',
'number' => '',
'count_total' => false,
'fields' => 'all',
'who' => ''
);
get_users( $args ); ?>
字段中的'meta_value' => '',
部分已序列化a:1:{s:12:"cs_candidate";b:1;}
答案 0 :(得分:1)
您无法同时搜索反序列化搜索,我很害怕。搜索序列化数据总是有点麻烦。
如果您确定要搜索的数据结构,可以执行以下操作:
$meta_args = [
'key' => 'wp_capabilities',
'value' => 'cs_candidate";b:1',
'compare' => 'LIKE'
];
$users = get_users(['meta_query' => $meta_args]);
它不是很漂亮,但是应该这样做。