Я хотел бы перенаправить пользователей, если они не являются администраторами, и я делаю это в рамках функции add_action('init'...
Однако я бы не хотел перенаправлять пользователей, если путь URL-адреса похож на /wp-json(v1/...
( так что не пользователь, а пользовательский запрос REST API)
Как я могу получить запрошенный URL и принять решение по этому поводу? Должен ли я сделать это в init
хуке?
function redirect_users()
{
global $wp;
// $url = get_url();
// if ($url === 'whatever') {
// return;
// }
if (get_current_user_id()) {
$user = get_userdata(get_current_user_id());
$user_roles = $user->roles;
if (!in_array('administrator', (array) $user_roles)) {
wp_logout();
wp_redirect($url);
exit;
}
}
}
add_action('init', '\kw_signup\redirect_non_admin_users', 15);