Разрешение Worpdress для редактирования пользователя на основе значения поля пользовательского профиля - PullRequest
1 голос
/ 04 февраля 2020

Я пытаюсь разрешить пользователям роли «редактор» редактировать только пользователей с указанным c настраиваемым полем в WordPress.

В этом примере настраиваемое поле - это национальность пользователей, и я добавил это для user_meta примерно так:

add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );

function my_show_extra_profile_fields( $user ) { ?>
    <table class="form-table">
        <tr>
            <th><label for="country">Country</label></th>
            <td>
                <input type="text" name="country" id="country" value="<?php echo esc_attr( get_the_author_meta( 'country', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter country.</span>
            </td>
        </tr>
        <tr>
update_usermeta( $user_id, 'country', $_POST['country'] );

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

Я понимаю, что мне понадобится чтобы изменить 'input type = "text"' на фиксированный набор значений для country вместо текстового ввода, но я хотел посмотреть, возможно ли вообще ограничить разрешения перед тонкой настройкой остальной части плагина.

...