Программа для создания системы входа пользователей WordPress для определенных пользовательских ролей - PullRequest
0 голосов
/ 24 сентября 2018

Я обновил свой код, но проблема в том, что get_the_ID не получает никакого значения.Не могли бы вы помочь.Этот код добавлял function.php в дочернюю тему.

// Works in single post outside of the Loop
add_filter( 'authenticate', 'myplugin_auth_signon', 30, 3 );
function myplugin_auth_signon( $user, $username, $password ) {
        $user       =   get_user_by( 'login', $username );
        $roles      =   $user->roles['0'];

            $id = get_the_ID();
            echo $id;
            if ( is_page( $id == 400380 ) )
            {
                echo "Employee Page";
                $user = new WP_Error( 'denied', "Customer have no permission to login from this employee login form" );


            }
            if ( is_page( $id == 399649 ) )
            {
                echo "Customer";

            $user = new WP_Error( 'denied', "Employee have no permission to login from this customer login form" );


            }



    return $user;

}

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Вы можете ограничить другие роли от использования входа в систему. authenticate фильтр-хук.

add_filter( 'authenticate', 'myplugin_auth_signon', 30, 3 );

function myplugin_auth_signon( $user, $username, $password ) {
        $user       =   get_user_by( 'login', $username );
        $roles      =   $user->roles['0'];

        if($roles != 'sales' && is_page('YOUR_SALES_PAGE_ID')){
            $user = new WP_Error( 'denied', "You have not permission to login from this form" );
            return $user;
         }
    return $user;
}

Замените YOUR_SALES_PAGE_ID текущим идентификатором страницы входа в систему продаж.

Для получения дополнительной информации см. Эту ссылку: Нажмите здесь

0 голосов
/ 24 сентября 2018

Роли пользователя происходят от database?проверьте это раньше, затем сделайте свою логику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...