不知道这是否足够,但在WP中确实存在以非常简单的方式添加和管理用户页面中的自定义配置文件字段的可能性。
以下是我在一个网站中使用的代码:
/************** User Info */
function GSN_add_custom_user_profile_fields( $user ) {
?>
<h3><?php _e(\'Altre Informazioni\', \'GSN_textdomain\'); ?></h3>
<table class="form-table">
<tr>
<th>
<label for="tessera"><?php _e(\'Tessera FIDAL\', \'GSN_textdomain\'); ?>
</label></th>
<td>
<input type="text" name="tessera" id="tessera" value="<?php echo esc_attr( get_the_author_meta( \'tessera\', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e(\'Inserire il proprio numero tessera FIDAL: FE0.....\', \'GSN_textdomain\'); ?></span>
</td>
</tr>
<tr>
<th>
<label for="annonascita"><?php _e(\'Anno di nascita\', \'GSN_textdomain\'); ?>
</label></th>
<td>
<input type="text" name="annonascita" id="annonascita" value="<?php echo esc_attr( get_the_author_meta( \'annonascita\', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e(\'Inserire il proprio anno di nascita\', \'GSN_textdomain\'); ?></span>
</td>
</tr>
</table>
<?php }
function GSN_save_custom_user_profile_fields( $user_id ) {
if ( !current_user_can( \'edit_user\', $user_id ) )
return FALSE;
update_usermeta( $user_id, \'tessera\', $_POST[\'tessera\'] );
update_usermeta( $user_id, \'annonascita\', $_POST[\'annonascita\'] );
}
add_action( \'show_user_profile\', \'GSN_add_custom_user_profile_fields\' );
add_action( \'edit_user_profile\', \'GSN_add_custom_user_profile_fields\' );
add_action( \'personal_options_update\', \'GSN_save_custom_user_profile_fields\' );
add_action( \'edit_user_profile_update\', \'GSN_save_custom_user_profile_fields\' );
/*^^^^^^^^^^^^^*/