Добрый день, уважаемые читатели RootHelp.ru и сегодня для Вас мы открываем новую рубрику, которая полностью будет посвящена одной и самых популярных некоммерческих CMS, а именно WordPress. После серий удачных уроков по 1С-Битрикс, которые раз за разом пишет Алексей Копча, я решил внедрить и WordPress, так как частенько приходиться с данной CMS работать и есть чем с Вами поделиться, а также что рассказать.
И сегодня первый урок на данную тему будет посвящен ограничению доступов к страницам. Наверно, немного не правильно выразился, не просто урок, а видео урок тоже прилагается, там более детально и подробно все изложено, поэтому я не буду вдаваться во все тонкости тут, а просто напишу основную информацию, которую Вам нужно знать. Надеюсь, данная рубрика будет для Вас полезной, а для нас новым успешным открытием!
И так, прежде чем начать, все же хочется по рассуждать, - "Что же такое ограничение доступов к страницам в WordPress и зачем это нужно?". Ответ очень прост, - "Если Вам требуется скрыть от посторонних не авторизованных пользователей определенную страницу или страницы, а может и весь сайт, то нужно создать скрипт с функциональными способностями, который будет выводить вместо страницы, стандартный вход в админку WordPress".
Надеюсь, я смог объяснить Вам суть данной идеи, а теперь желаю приятного просмотра или изучения данного материала, как в текстовом виде, так и видео формате!
Для того, чтобы привязать к определенной странице ограничение доступа, нужно для начала создать определенный класс с функцией Template Name и задать название, которое в последствие можно будет выбирать в админке в выборе шаблонов. Далее мы прописываем условие, при котором если пользовать авторизован, выводим ему его контент, логин, выход и, соответственно, футер и хиадер, если же не авторизован, то просто перенаправляем его на страницу входа авторизации.
/* Template Name: Доступы */ if(!is_user_logged_in()){ wp_redirect(wp_login_url(get_permalink())); exit; } else{ get_header(); the_post(); echo $current_user -> user_login; echo the_content(); echo "<a href=".wp_logout_url(home_url())."'>Выход</a>"; get_footer(); }
С данной частью, вообще все просто. Сначала нам нужно убрать верхнюю панель администрирования, ведь по умолчанию она включена, но перед тем как убрать, можно сделать ограничение по ролям, к примеру администраторам не убирать, а авторам и другим убрать (Роли мы с Вами будем проходить в следующих уроках). Далее в зависимости от роли, нам нужно сделать перенаправление на главную страницу, в данном случае перенаправление распространяется на всех пользователей и администраторов.
if(!current_user_can('manage_options')){ show_admin_bar(false); } add_action('admin_init','redirect_non_admin_users'); function redirect_non_admin_users(){ if(!current_user_can('manage_options')) { wp_redirect(home_url()); exit; } }
На этом все, первый урок, надеюсь, оказался для Вас весьма полезным. Если же Вы хотите, чтобы я по подробнее расписал каждую функцию, я могу Вас проконсультировать, но не стал тут этого делать, потому что огромное множество имеется справочников по WordPress, в которых без труда можно найти любую применяемую тут функцию.