我们只是为author_user.php文件添加了静态的表单代码,我们要想实现前台设置用户帐号的功能,就必须为这个author_user.php文件添加php处理代码,用来处理这个页面提交的表单数据。
第一步:添加用户判断
我们制作wordpress主题用户中心的帐号设置时,只允许用户自己才可以修改自己的帐号信息,而其它人是不能修改别人的信息的。所以,在author_user.php代码中我们要添加一个判断:如果 当前用户==作者,就允许修改,否则就不允许修改,代码如下:<?php
//这里是表单数据处理代码
//如果当前用户 = 文章作者 ,就可以编辑
if($current_user->ID == $curauth->ID){
?>
这里放上一章中的author_user.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 '';
return;
}