ユーザーのWordPressプロファイルを更新するページを作成しました。このサイトはcimyuserの追加フィールドを使用し、ユーザープロファイルにいくつかのカスタムフィールドを追加します。このページはすべてのユーザーデータを取得し、フォームの適切なフィールドに入力します。ユーザーは必要な変更を加えてから、[送信]をクリックできます。
フォームが投稿されると、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;"';
}
}
いつものように、私は明らかな何かを見落としていると確信しています。
どんな考えでも大歓迎です。ありがとう。