我创建了一个页面来更新用户的 WordPress 个人资料。该站点使用 cimy 用户额外字段,并在用户配置文件中添加了几个自定义字段。该页面获取所有用户数据并输入表单中的相应字段。用户可以进行他们需要的任何更改,然后单击提交。
发布表单时调用edit_user()。它返回所有额外字段为空的错误。我可以回显 $_POST 变量,它们都在那里。这些名称与它们在 cimy 设置面板中的名称相匹配。标准的 WordPress 字段很好。我不确定是否需要切换到 edit_user() 以外的其他方法,我查看了其他几种方法,但没有什么比 edit_user() 更好,或者我需要做些什么才能更新cimy 额外字段。
这是代码:
if(!empty($_POST['action'])){
require_once(ABSPATH . 'wp-admin/includes/user.php');
require_once(ABSPATH . WPINC . '/registration.php');
check_admin_referer('update-profile_' . $user_ID);
$errors = edit_user($user_ID);
echo $_POST['church'];
if ( is_wp_error( $errors ) ) {
foreach( $errors->get_error_messages() as $message )
$errmsg .= "$message ";
}
if($errmsg == ''){
do_action('personal_options_update', $user_id);
$d_url = $_POST['dashboard_url'];
wp_redirect( get_option("siteurl").'?page_id='.$post->ID.'&updated=true' );
}
else {
$errmsg = '<div class="box-red">** ' . $errmsg . ' **</div>';
$errcolor = 'style="background-color:#FFEBE8;border:1px solid #CC0000;"';
}
}
像往常一样,我确信我忽略了一些明显的东西。
任何想法将不胜感激。谢谢。