ユーザーオプションを追加する

wp-optionsに入って来る値の管理は分かったが、ユーザーオプション(wp-usermeta)での項目の追加方法が分からなかった。
答えは、やはりフックが用意されているのでこれを使うのが早い。
もしかすると、サイトのオプションの設定方法を応用出来るかもしれないが、未確認。

アクションフックは、
表示が
add_action( ‘show_user_profile’, ‘extra_user_profile_fields’ );
add_action( ‘edit_user_profile’, ‘extra_user_profile_fields’ );

保存が、
add_action( ‘personal_options_update’, ‘save_extra_user_profile_fields’ );
add_action( ‘edit_user_profile_update’, ‘save_extra_user_profile_fields’ );

extra_user_profile_fields()ではフィールドを出力
save_extra_user_profile_fieldsでその内容をPOSTからキャッチして保存するようにする

function save_extra_user_profile_fields( $user_id ) {
 
if ( !current_user_can( 'edit_user', $user_id ) ) { return false; }
 
update_user_meta( $user_id, 'address', $_POST['address'] );
update_user_meta( $user_id, 'city', $_POST['city'] );
update_user_meta( $user_id, 'province', $_POST['province'] );
update_user_meta( $user_id, 'postalcode', $_POST['postalcode'] );
}

コメント

タイトルとURLをコピーしました