Пользователи Wordpress перенаправляют - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу перенаправить админ, кроме как для wp-admin.если пользователи (вне администратора) пишут wp-admin, пересылают на другую страницу. Для этого я использую (я добавил код в wp-includes / function.php)

function restrict_admin_with_redirect() {
    if ( ! current_user_can( 'manage_options' ) && ( ! wp_doing_ajax() ) ) {
    wp_safe_redirect( 'aaaa'  );
  ``exit;
    0}}  add_action( 'admin_init', 'restrict_admin_with_redirect', 1 ); 

, это работает, но пока в adminПроблема возникает в теме или дополнениях.Я получаю сообщение об ошибке, когда хочу добавить тему на страницу темы.Ошибка - произошла непредвиденная ошибка.Когда я удаляю вышеуказанную функцию, нет проблем, все становится лучше.Откуда проблема?

РЕДАКТИРОВАНИЕ: Я попробовал другой код, и он работает

function custom_blockusers_init() {
  if ( is_user_logged_in() && is_admin() && !current_user_can( 'administrator' ) ) {
    wp_redirect( home_url() );
    exit;
  }
}
add_action( 'init', 'custom_blockusers_init' );

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Вместо использования current_user_can ('manage_options'), пожалуйста, используйте current_user_can ('administrator'), это должно решить проблему с предоставленными разрешениями, и вы должны сделать это

0 голосов
/ 24 декабря 2018

Вы можете сослаться на здесь для фильтра URL входа в систему.

add_filter( 'login_url', 'my_login_page', 10, 3 );
function my_login_page( $login_url, $redirect, $force_reauth ) {
    return home_url( '/my-login-page/?redirect_to=' . $redirect );
}
...