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
- 2145 reads