@efimenko_b

Как сделать вход в админку прямо с сайта?

К примеру у меня на сайте есть формы для входа.
Как сделать так что бы при вводе логина и пароля именно в эти формы, я попадал в админку как через входи с wp-admin
Заранее спасибо)
  • Вопрос задан
  • 3497 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Ну когда же люди научатся читать документацию :)

codex.wordpress.org/Function_Reference/wp_login_form

Если кратко:
1. В нужном месте шаблона пишем:
<?php wp_login_form(); ?>
2. Профит!

Если задача сразу перекидывать в админку, добавляем аргумент:
'redirect' => site_url( '/wp-admin/' )

Если задача давать доступ в админку только админам, а остальным нет (перекидывать на главную, например), в functions.php добавляем:
function no_admin_access() {
    if( !current_user_can( 'administrator' ) ) {
        wp_redirect( home_url() );
        die();
    }
}
add_action( 'admin_init', 'no_admin_access', 1 );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Serhioromano
@Serhioromano
Web Developer
Сложно ответить на этот вопрос не понимая что вы используете. Вы пишете свою кмс или вы используете готовый фреймворк, или что то еще? Во всех случаях это решается по разному. Но в общем идея одна и называется она ACL.

Это когда пользователь залогинен, проверятюся его права на доступ в административную часть, и если они есть до он может туда зайти. А форма логинации может быть одна и таже для админа и для простых пользователей. Но в WP как раз 2 разные формы в 2 разных интерфейса.

Но в этом и проблема. Разделение на админку и сайт, это пережиток. Это то что мы унаследовали от эволюции CMS. И если вы делаете что то сами, то при возможности этого нужно избежать и не делать 2 раздельных интерфейса для админки и для сайта.
Ответ написан
@efim23
Верно уточнили, что необходимо проверять права у всех пользователей. Для этого в базе создается дополнительное поле, которое у всех кроме админа по дефолту - допустим 0, у админа - 1. Далее грамотное условие исходя из нового поля будет либо показывать админ панель, либо нет.
Ответ написан
psychonaut
@psychonaut
Crazy Lemeng
вообще плагин есть для WP. Называется Theme my login
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы