アバターを自分のユーザーに追加したいです。私は働いているサイトには限られたグループしかいません。アップロードは実際には問題ではありません。画像をサーバーに配置し、URLを使用してアバターを設定することができます(実際に投稿できるのは約5人だけです)。それは、後で取得することができる画像URLを記入することができるユーザーページにフィールドを追加する方法を述べたものです。私はあなたがthe_author_meta();
関数を通してユーザーデータを取得できることを知っています、しかしどのように私は彼らが記入されそしてユーザーと関連しているデータベースに置かれることができるカスタムユーザーフィールドを追加しますか?
あるいは、たとえばaim
フィールドのような既存のものを使用するほうが良い場合があります。
プロファイル/ユーザー編集ページにフィールドを追加するには、edit_user_profile
フックとshow_user_profile
フックを使う必要があります。
add_action( 'show_user_profile', 'my_extra_user_fields' );
add_action( 'edit_user_profile', 'my_extra_user_fields' );
function my_extra_user_fields( $user )
{ ?>
<h3>User avatar</h3>
<table class="form-table">
<tr>
<th><label for="user_avatar">User avatar</label></th>
<td>
<input id="user_avatar" name="user_avatar" type="text" value="
<?php $user_avatar = get_the_author_meta( 'user_avatar', $user->ID );
echo $user_avatar ? $user_avatar : '';?>" />
<span class="description"><?php _e("Please enter Avatar URL."); ?></span>
</td>
</tr>
</table>
<?php }
そのフィールドを保存するには、personal_options_update
フックとedit_user_profile_update
フックを使う必要があります。
add_action( 'personal_options_update', 'save_my_extra_user_fields' );
add_action( 'edit_user_profile_update', 'save_my_extra_user_fields' );
function save_my_extra_user_fields( $user_id )
{
if ( !current_user_can( 'edit_user', $user_id ) ) { return false; }else{
if(isset($_POST['user_avatar']) && $_POST['user_avatar'] != ""){
update_usermeta( $user_id, 'user_avatar', $_POST['user_avatar'] );
}
}
}
そしてあなたがすでに知っているように、あなたはthe_author_meta()
またはget_user_meta()
を使ってそのデータを見抜くことができます