如何传递用户META_KEY和META_VALUE(值为数组)

时间:2017-11-06 作者:Opsional

我想将user meta\\u key传递给meta\\u value,但meta\\u value数组如下所示:

$user_biodata = array(
    \'register_facebook_id\' => 1311064406686333,
);
我想检查用户是否已经通过此功能注册;

$wp_users = get_users(array(
    \'number\'       => 1,
    \'count_total\'  => false,
    \'fields\'       => \'id\',

    \'meta_query\' => array(
        array(
            \'meta_key\' => \'user_biodata\',
            \'meta_value\' => array( \'register_facebook_id\' => 1311064406686333 ),
        )
    ),
));
但即使值不存在,结果也始终为1,如何修复它?

1 个回复
最合适的回答,由SO网友:Drupalizeme 整理而成

您所做的不是从WP中检索和检查序列化数据的有效方法。您可以将数组作为用户元插入,但此数组在幕后被转换为MySql可以处理的序列化字符串。

有使用LIKE操作符进行搜索的选项,但我不支持这种用法,因为它可能会导致意外的结果。

$args = array(
\'number\'       => 1,
\'count_total\'  => false,
\'fields\'       => \'ID\',

\'meta_query\' => array(
        array(
            \'key\' => \'user_biodata\',
            \'value\' => \'yourValue\',
            \'compare\' => \'LIKE\',
        ),

    ),
);

$users = get_users($args);

结束

相关推荐

Users redirected to old site

如果我以管理员身份登录,一切都很好。但是,如果我以用户身份登录,它会重定向到旧的测试站点(用于运行站点的开发服务器)。我已经检查了数据库中的siteurl和home值是否正确。我也在使用付费会员pro插件。我搜索了数据库,找到了740个旧URL的条目:(有人能建议在不破坏现场的情况下,最好的前进方式吗?谢谢