注册表字段:(前端注册表)
Username,
Email (password will generate to email).
编辑配置文件:(前端编辑配置文件)
Firstname,
Lastname,
Username,
Email,
Phone,
Address,
Zip / postal code,
Website,
State(Drop down-Dynamic),
Country(Drop down),
Newsletter (Check box),
Change password.
上述字段是其相应页面所必需的。
目前,我正在使用主题我的登录插件进行前端登录和注册。
以及用于注册页面字段编辑的Cimy用户额外字段插件。(但是,它没有在配置文件页面中添加字段和更改字段的选项。)
我们如何使用自定义代码编辑或插件来做到这一点?
如果有任何插件可以这样做,请告诉我插件名称和下载链接。
如果只能通过自定义代码编辑,请指导我如何完成此操作。
SO网友:Rutwick Gangurde
此答案复制自the best post 关于这个话题!我本来可以给你这些链接,但这会让我得到mod的评论,以发布示例代码;)
要添加字段,请执行以下操作:
add_action( \'show_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'my_show_extra_profile_fields\' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>Extra profile information</h3>
<table class="form-table">
<tr>
<th><label for="twitter">Twitter</label></th>
<td>
<input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Please enter your Twitter username.</span>
</td>
</tr>
</table>
为了保存数据:
add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( \'edit_user\', $user_id ) )
return false;
/* Copy and paste this line for additional fields. Make sure to change \'twitter\' to the field ID. */
update_usermeta( $user_id, \'twitter\', $_POST[\'twitter\'] );
}
另一个
helpful link here.
谢谢Justin Tadlock!:D
SO网友:Denis Lam
要添加或删除联系人字段,请将其添加到functions.php
:
<?php
add_filter(\'user_contactmethods\', \'modify_contact_methods\');
function modify_contact_methods($profile_fields) {
// Add new fields
$profile_fields[\'facebook\'] = \'Facebook URL\';
$profile_fields[\'twitter\'] = \'Twitter Username\';
$profile_fields[\'gplus\'] = \'Google+ URL\';
$profile_fields[\'youtube\'] = \'YouTube Channel URL\';
// Remove old fields
unset($profile_fields[\'aim\']);
unset($profile_fields[\'yim\']);
unset($profile_fields[\'jabber\']);
return $profile_fields;
}
?>
要删除用户名(以及其他字段或标题),请使用jQuery:
<?php
add_action(\'admin_head\',\'hide_personal_options\');
function hide_personal_options() { ?>
<script type="text/javascript">
jQuery(document).ready(function($) {
$(\'#your-profile > h3\').hide(); // removes all headers
$(\'#your-profile > table:first\').hide(); // remove the entire Personal Options table
$("#nickname,#display_name,#user_login,#url").parent().parent().remove(); // remove nickname, display name, username, website fields, etc.
});
</script>
<?php
}
?>