Как отфильтровать WP_User_Query () по роли при отправке формы - PullRequest
2 голосов
/ 06 июня 2019

Я пытаюсь отфильтровать всех пользователей по их роли при отправке формы.Я могу сделать это в исходных $ args, но когда я пытаюсь добавить этот запрос при отправке формы, он ничего не делает.Смотрите мой код ниже;

<?php
    $current_page = ( $_GET['paged'] ) ? $_GET['paged'] : 1;
    $users_per_page = 100;

    $args = array(
        'number' => $users_per_page,
        'paged' => $current_page,
        'orderby'   => 'user_registered',
        'order'     => 'DESC'
    );

    if( $_POST['membership_status'] ){
        $args['meta_query'] = array(
            array(
                'role'   => $_POST['membership_status']
            )
        );
    }

    if( $_POST['search'] ){
        $args['meta_query'] = array(
            'relation'  => 'OR',
            array(
                'key'   => 'first_name',
                'value' => $_POST['search'],
                'compare'   => 'LIKE'
            ),
            array(
                'key'   => 'last_name',
                'value' => $_POST['search'],
                'compare'   => 'LIKE'
            )
        );
    }

    $users = new WP_User_Query( $args );
?>

<form action="" method="POST" id="status_form">
    <label>
        Search: 
        <select name="membership_status" id="">
            <option value="active">Active</option>
            <option value="suspended">Suspended</option>
            <option value="submitted">Submitted</option>
            <option value="bronze_membership">Bronze</option>
            <option value="silver_membership">Silver</option>
            <option value="gold_membership">Gold</option>
            <option value="platinum_membership">Platinum</option>
        </select>
    </label>
</form>

1 Ответ

1 голос
/ 06 июня 2019

Вам не нужен параметр meta_query. Просто укажите это в $args:

if ($_POST['membership_status']) {
    $args['role'] = $_POST['membership_status'];
}

Для получения дополнительной информации: https://codex.wordpress.org/Class_Reference/WP_User_Query#User_Role_Parameter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...