wordpress Ограничение доступа к страницам авторизацией - только для зарегистрированных пользователей.
Primary tabs
В WP (5 версии) судя по всему нет общедоступной удобной системы для закрытия доступа (или её описание не так то простой найти).
Решение через код
Можно исползовать подход вроде:
use ItForFree\rusphp\Network\Url\Url; use ItForFree\rusphp\PHP\Regexp\Regexp; add_action( 'template_redirect', 'redirect_to_specific_page' ); function redirect_to_specific_page() { $onlyForAuthedUsersUrlPattrens = [ '~/shop/.*~', '~/product/.*~' ]; $Url = new Url(); // vpre($Url->path); if (Regexp::isLikeAny($Url->path, $onlyForAuthedUsersUrlPattrens) && !is_user_logged_in() ) { wp_redirect( '/login/', 302 ); exit; } }
Код выше использует composer-пакет rusphp.
Если вы хотите добавить get параметр сразу переадресуйте например на:
wp_redirect('/wp-login.php?shopneedslogin=true', 302);
Переадресация после авторизации
После же авторизации можно переадресовать пользователя на нужную страницу.
- Log in to post comments
- 1577 reads