WP_USER_QUERY按META_KEY搜索未返回任何结果

时间:2016-03-23 作者:blank473

我有一个搜索表单,我试图让它能够搜索基本用户字段(user\\u email、display\\u name等)和一个名为“clinic”的其他自定义用户元键

这是我到目前为止的论点

$args  = array( 
        \'orderby\'        => \'display_name\',                 
        \'meta_key\'       => \'course\',
        \'fields\'         => \'all\',
        \'search\'         => $search,
        \'meta_query\' => array(
        array(
            \'key\' => \'clinic\',
            \'value\' => $search,
            \'compare\' => \'LIKE\'
        )
    )
);
此外,我不确定是否正确设置了此项,但我还需要查询以检查元键“course”是否存在,而不管其值如何(但这是次要的,如果可能导致问题,可以删除,我最关心的是搜索诊所元键)

1 个回复
SO网友:darrinb

您正在设置两个不同的meta\\u键字段以检查:\'course\', 和\'clinic\'. 试着用这样的一个来做:

$args = array(
    \'orderby\' => \'display_name\',
    \'fields\'  => \'all\',
    \'search\'  => $search,
    \'meta_query\' => array(
            array(
                \'key\'     => \'clinic\',
                \'value\'   => $search,
                \'compare\' => \'LIKE\'
            )
    )
 );
当前查询所做的是返回与$search 基本用户列和元键“clinic”上的参数。这是你的意图吗?

Update 3/24/16:

尝试以下操作:

$args = array(
    \'orderby\'    => \'display_name\',
    \'fields\'     => \'all\',    
    \'search\'     => $search,
    \'meta_query\' => array(
        \'relation\' => \'OR\',
            array(
                \'key\'     => \'course\',
                \'value\'   => $search,
                \'compare\' => \'LIKE\'
            ),
            array(
                \'key\'     => \'clinic\',
                \'value\'   => $search,
                \'compare\' => \'LIKE\'
            )
    )
);

相关推荐