Я пытаюсь разрешить пользователям роли «редактор» редактировать только пользователей с указанным 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
вместо текстового ввода, но я хотел посмотреть, возможно ли вообще ограничить разрешения перед тонкой настройкой остальной части плагина.