• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

    WordPress函数wp_signon实现用户登陆【转】

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • WordPress的用户登录函数wp_signon使用次数不是特别多,因此知道这个函数的人也比较少。wp_signon函数主要使用在前台的用户中心功能上,实现前端登陆效果。通过前端传递的用户名和密码参数,wp_signon可以让该用户登陆到WordPress系统中,并且会设置浏览器cookies,保持登陆。下面我们根据WordPress官方文档,一起来学习下wp_signon函数的使用。

      函数描述

      将用户账号信息包装成数组作为凭证。如果没有提供凭据,则在设置时将假定并使用登录表单。各种身份验证cookie将由此函数设置,并根据“记住”凭据是否设置为true来设置更长的时间。

      注意:wp_signon函数不会处理已经登陆的账户,如果你需要注册后直接登陆,你应该使用wp_set_current_user()函数。wp_set_current_user()是wp_signon与is_user_logged_in()函数的结合。

      函数原型

      wp_signon( array $credentials = array()string|bool $secure_cookie = '' )

      源码位于WordPress目录下wp-includes/user.php文件中,源码较长,这里就不贴了。

      参数

      $credentials 

      数组,默认为空

      该数组定义了需要记住的登录信息,如果该参数为空,默认的值如下:

      • $_POST[‘log’]
      • $_POST[‘pwd’]
      • $_POST[‘rememberme’]

      $secure_cookie

      布尔值,默认值:false

      是否使用安全cookie

      返回值

      (object) 登录失败返回对象WP_Error,登录成功则返回WP_User

      简单使用

      function custom_login() {
      	$creds = array();
      	$creds['user_login'] = 'example';
      	$creds['user_password'] = 'plaintextpw';
      	$creds['remember'] = true;
      	$user = wp_signon( $creds, false );
      	if ( is_wp_error($user) )
      		echo $user->get_error_message();
      }
      // 在加载头部前设置cookies
      add_action( 'after_setup_theme', 'custom_login' );

      注意,需要先设置cookies!

      你需要登录,才能进行发帖操作