• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress CMS主题制作 > wordpress CMS主题用户中心开发 10:添加author_user.php的php处理代码

    wordpress CMS主题用户中心开发 10:添加author_user.php的php处理代码

    作者: 分类:wordpress CMS主题制作 点击: 184 次
    wordpress CMS主题:ssmay主题

      wordpress CMS主题用户中心开发 9:帐号设置页面author_user.php静态代码添加文章时,我们只是为author_user.php文件添加了静态的表单代码,我们要想实现前台设置用户帐号的功能,就必须为这个author_user.php文件添加php处理代码,用来处理这个页面提交的表单数据。

      第一步:添加用户判断。

      我们制作wordpress主题用户中心的帐号设置时,只允许用户自己才可以修改自己的帐号信息,而其它人是不能修改别人的信息的。所以,在author_user.php代码中我们要添加一个判断:如果 当前用户==作者,就允许修改,否则就不允许修改,代码如下:

      <?php
          //这里是表单数据处理代码
          //如果当前用户 = 文章作者  ,就可以编辑
          if($current_user->ID == $curauth->ID){
      ?>
          这里放上一章中的author_user.php静态表单代码
      <?php } ?>

      第二步:添加表单数据处理代码。

      在上面的用户判断代码的上面添加如下代码:

      //先判断form表单提交
      if(isset($_POST['submit']) && isset($_POST['action']) && $_POST['action']=='update_user' ){
      //获取表单数据,把它保存在数组中,当然,也可不保存为数组
      $data['uid'] = isset($_POST['user_id']) ? $_POST['user_id'] : '';
      $data['nickname'] = isset($_POST['nickname']) ? $_POST['nickname'] : '';
      $data['addess'] = isset($_POST['addess']) ? $_POST['addess'] : '';
      $data['user_site'] = isset($_POST['user_site']) ? $_POST['user_site'] : '';
      $data['qq'] = isset($_POST['qq']) ? $_POST['qq'] : '';
      $data['sina_weibo'] = isset($_POST['sina_weibo']) ? $_POST['sina_weibo'] : '';
      $data['user_sign'] = isset($_POST['user_sign']) ? $_POST['user_sign'] : '';
      $data['description'] = isset($_POST['description']) ? $_POST['description'] : '';
      //这里用update_user_meta()来更新用户字段,要一一对应
      update_user_meta($data['uid'],'nickname',$data['nickname']);
      update_user_meta($data['uid'],'addess',$data['addess']);
      update_user_meta($data['uid'],'user_site',$data['user_site']);
      update_user_meta($data['uid'],'qq',$data['qq']);
      update_user_meta($data['uid'],'sina_weibo',$data['sina_weibo']);
      update_user_meta($data['uid'],'user_sign',$data['user_sign']);
      update_user_meta($data['uid'],'description',$data['description']);
      echo '<script>alert("修改成功。");  history.back(); </script>';
      return;
      }
      有人可能要问了:为什么不直接更新wp_users用户数据表呢?那样不是更简单一点吗?是的,如果直接更新wp_users表是要简单的多。但是,这里的用户字段并不都是放在wp_users表中的,有的是自定义字段,而用户的自定义字段是放在wp_usermeta表中的,这样一样,就要进行多表操作。而wordpress自己就提供了修改自定义字段的函数update_user_meta(),为什么不用它呢?所以,这里我们就用到它了。如果你想使用多表操作也行,这就要你精通sql数据库语句了,具体,你要以参阅本站的数据库相关的文章。

       



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201808136584.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.