我创建了一个页面来更新用户的WordPress个人资料。该站点使用cimy用户额外字段,并向用户配置文件添加多个自定义字段。该页面获取所有用户数据并进入表单中的相应字段。用户可以进行所需的任何更改,然后单击“提交”。
发布表单时调用edit_user()。它返回所有额外字段为空的错误。我可以回显$ _POST变量,它们都存在。名称与cimy设置面板中的名称相匹配。标准的WordPress字段很好。我不确定是否需要切换到edit_user()之外的其他东西,我已经看了几个其他方法,但没有什么看起来比edit_user()更好,或者还有什么我需要做的才能更新肮脏的额外领域。
以下是代码:
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;"';
}
}
按照惯例,我确信我忽略了一些显而易见的事情。
任何想法都会非常感激。谢谢。
答案 0 :(得分:0)
我明白了。该插件将cimy_uef_添加到字段名称的前面。一旦我补充说一切正常。