Я создаю сайт на Wordpress с помощью Bedrock / Timber / ACF. Этот сайт закрыт на большую часть его.
Для анонимных пользователей доступно 4-5 страниц (домашняя страница, контакты, страница входа и юридическая страница / политика конфиденциальности).
В настоящее время я управляю этим с помощью Timber routing, например:
Routes::map('/blog/page/:num/', function ($params) {
if (!is_user_logged_in()) {
wp_redirect(home_url().'/login');
exit();
}
$user = wp_get_current_user();
if ($user->roles[0]=="subscriber") {
$post_type="publish";
} else {
$post_type="any";
}
$query = 'order=ASC&orderby=title&paged='.$params['num'].'&post_status='.$post_type;
Routes::load('list-blog.php', $params, $query, 200);
});
Однако я не знаю, хороший ли это способ сделать это, потому что я не могу использовать иерархию шаблонов wordpress, на стороне администратора каждый раз, когда я хочу создать новую страницу, мне нужно создать дорогу. ..
Итак, мое решение не гибкое и сложное в обслуживании ...
Есть ли у вас какие-нибудь советы?
РЕДАКТИРОВАТЬ: Я почти удалил все свои маршруты с помощью wordpress иерархия шаблонов. Но у меня все еще есть ссылки маршрутов на страницу входа, потому что я хочу иметь не mysite.com/wp/login, а mysite.com/login.