Я хочу перенаправить каждую страницу (включая домашнюю) в WordPress на определенную страницу c. Но я также хочу установить некоторые исключения. Страницы, которые я не хочу перенаправлять. Перенаправление должно происходить только в том случае, если текущий пользователь не является частью роли пользователя «редактор».
Например:
Я хочу перенаправить каждого пользователя без этой роли на страницу с страница ID 9 . Но страницы с ID 1,2,3 и 4 не должны перенаправляться.
Мне удалось перенаправить домашнюю страницу на страницу с идентификатором 9. Но только домашняя страница .
Но как я могу добавить любую другую страницу к этой функции, а также добавить исключения? Думаю, мне нужно внести в белый список исключения каким-то образом, но я просто не понимаю этого в данный момент.
EDIT: Вот еще кое-что: у меня есть роль пользователя (в этот пример «редактор») с собственным личным кабинетом. Теперь я хочу ограничить доступ ко всему сайту для каждого пользователя и роли. Но если пользователь вошел в систему с ролью «редактор», я хочу разрешить им перемещаться в зоне для членов. Но если пользователь не вошел в систему, мне нужно, чтобы страница входа и страница регистрации были открыты для всех. Все остальное следует перенаправить на страницу входа (ID 9).
Это текущий код:
function redirect_homepage() {
if( ! is_home() && ! is_front_page() )
return;
wp_redirect( get_permalink('9') );
exit;
}
add_action( 'template_redirect', 'redirect_homepage' );