Перенаправление после входа в WordPress - PullRequest
46 голосов
/ 15 ноября 2011

Я создаю настроенную тему WordPress на основе существующего сайта.

Я хочу использовать созданную мной альтернативную панель мониторинга.

Как я могу направить пользователя на 'news.php 'после входа в систему вместо' /wp-admin/ '?

-

РЕДАКТИРОВАТЬ: Есть рабочий плагин для этого, но щедрость доступна для всехможно найти ручной способ сделать это через functions.php, так как это было бы более безопасно, чем использование стороннего плагина.

Ответы [ 13 ]

0 голосов
/ 17 августа 2013
// Used theme's functions.php  
add_action('login_form', 'redirect_after_login'); 
function redirect_after_login() 
{     
global $redirect_to; 
if   (!isset($_GET['redirect_to'])) 
{ 
$redirect_to =   get_option('sample-page');
//  sample-page = your page name after site_url
} }
0 голосов
/ 14 апреля 2013

Принятый ответ явно не хороший ответ!Это может решить вашу проблему на некоторое время, но что произойдет в следующий раз, когда вы обновите установку WordPress?Ваши основные файлы могут быть переопределены, и вы потеряете все свои модификации.

Как уже было сказано другими (ответы Дэна и Тревиса), правильный ответ - использовать фильтр login_redirect.

0 голосов
/ 23 ноября 2011

Файл functions.php не имеет ничего общего с перенаправлением входа в систему, что вы должны учитывать, что это файл wp-login.php, вы можете фактически изменить весь интерфейс входа в систему и заставить пользователей перенаправлять вВаши пользовательские страницы вместо каталога / wp-admin /.

Откройте файл с помощью Блокнота, если вы используете Windows или любой текстовый редактор, Prese Ctrl + F (в окне) Найдите «wp-admin /» и измените его.в папку, которую вы хотите перенаправить после входа в систему, все еще в том же файле Нажмите Ctrl + F, найдите «admin_url» и измените имя файла, имя файла по умолчанию - «profile.php» ... после простого сохраненияи попробуйте.

if ( !$user->has_cap('edit_posts') && ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() ) )
        $redirect_to = admin_url('profile.php');
    wp_safe_redirect($redirect_to);
    exit();

Или вы можете использовать «плагин регистрации-входа» http://wordpress.org/extend/plugins/registration-login/, просто отредактируйте URL-адреса перенаправления и ссылки, куда вы хотите перенаправить после входа в систему,и у вас есть свой собственный профиль.

...