基本的には、紹介されている記事の方法にて実装可能です。
チェックボックスは、チェックが入ってないときに、データが存在しなくなるため、私は、チェックボックスの直前に同一name属性のhidden input を配置したりしています。
また、画像アップロードの実装については、以下が詳しいです。
https://firegoby.jp/archives/4031
ありがとうございます。
落ち着いてやってみたところ実装出来ました。
以下、拙いコードかと思いますが、掲載いたします。
add_action( 'edit_user_profile', 'add_profile_fields' );
function add_profile_fields( $user ) {
?>
<h3>追加情報</h3>
<table class="form-table">
<tr>
<th>日付</th>
<td>
<input type="date" name="date" value="<?php echo esc_attr( get_the_author_meta( 'date', $user->ID ) ); ?>">
</td>
</tr>
<tr>
<th>数値</th>
<td>
<input type="number" name="number" value="<?php echo esc_attr( get_the_author_meta( 'number', $user->ID ) ); ?>">
</td>
</tr>
<tr>
<th>チェックボックス</th>
<td>
<input type="checkbox" name="checkbox" value="選択肢1" <?php if(get_the_author_meta( 'checkbox', $user->ID )=="選択肢1"){echo "checked=\"checked\"";}?>>選択肢1
<input type="checkbox" name="checkbox" value="選択肢2" <?php if(get_the_author_meta( 'checkbox', $user->ID )=="選択肢2"){echo "checked=\"checked\"";}?>>選択肢2
</td>
</tr>
<tr>
<th>テキスト</th>
<td>
<input type="text" name="text" value="<?php echo esc_attr( get_the_author_meta( 'text', $user->ID ) ); ?>">
</td>
</tr>
<tr>
<th>ラジオボタン</th>
<td>
<input type="radio" name="radio" value="選択肢1" <?php if(get_the_author_meta( 'radio', $user->ID )=="選択肢1"){echo "checked=\"checked\"";}?>>選択肢1
<input type="radio" name="radio" value="選択肢2" <?php if(get_the_author_meta( 'radio', $user->ID )=="選択肢2"){echo "checked=\"checked\"";}?>>選択肢2
</td>
</tr>
</table>
<?php
}
add_action( 'edit_user_profile_update', 'save_profile_fields' );
function save_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) ) return false;
update_usermeta( $user_id, 'date', $_POST['date'] );
update_usermeta( $user_id, 'number', $_POST['number'] );
update_usermeta( $user_id, 'checkbox', $_POST['checkbox'] );
update_usermeta( $user_id, 'text', $_POST['text'] );
update_usermeta( $user_id, 'radio', $_POST['radio'] );
}
画像のアップロードに関して、ご紹介ありがとうございます。
ネット上のコードをコピペ&ちょっとだけいじる、というレベルの自分にはなかなか応用が難しいですね…