Wp_user_query для поиска всего в таблицах wp_user и wp_usermeta? - PullRequest
0 голосов
/ 23 апреля 2020

В настоящее время есть вариант использования, когда я хочу создать страницу поиска для пользователей. Я хочу, чтобы они могли искать все, что может иметь пользователь, включая некоторые пользовательские поля. У меня есть такие поля, как город, день рождения, род занятий и т. Д. c.

Из-за плагина, который я использую для добавления пользователей в группы и управления ими, он хранит эти поля в таблице wp_usermeta таким образом, что для каждой группы он имеет разные имена с именем meta_key, хотя по сути это те же данные. Например, Город может быть сохранен для Группы 1 как field_10, тогда как в Группе 2 это может быть field_34. Я планирую иметь 50 групп, так что это может затруднить изменение в шаблоне и отслеживать его для 15 настраиваемых полей, которые есть у каждой группы.

Я бы хотел настроить запрос так, чтобы он по существу ищет все в таблицах wp_user и wp_usermeta. Или, если мне нужно указать c, все в таблице wp_user под столбцом «display_name» и все в таблице wp_usermeta под столбцом «meta_value».

$user_search_args = array (
                'order'      => 'ASC',
                'orderby'    => 'display_name',
                'search'     => '*' . esc_attr( $search_term ) . '*',
                'fields'     => 'all_with_meta',
                'meta_query' => array(
                    'relation' => 'OR',
                    array(
                        'key'     => 'meta_value',
                        'value'   => $search_term,
                        'compare' => 'LIKE'
                    )
                )
            );

Это то, что у меня так далеко, но я знаю, что не работает .

Цель состоит в том, чтобы, если я наберу "Chica go" в поиске, любой пользователь, у которого есть "Chica go" в любом месте, привязанном к его профилю, подтянется.

Я бы хотел бы, чтобы этот запрос работал так, что он будет искать все в этих двух таблицах или, по крайней мере, все в этих двух столбцах этих таблиц.

Буду признателен за любую помощь!

...