【发布时间】:2018-08-22 15:34:37
【问题描述】:
在另一个问题中,一位用户问了How to add a custom fields in Edit Account page
我希望做同样的事情,但也希望在管理员可以看到的用户个人资料页面上添加相同的自定义字段。这可能吗?
【问题讨论】:
标签: php wordpress woocommerce account user-data
在另一个问题中,一位用户问了How to add a custom fields in Edit Account page
我希望做同样的事情,但也希望在管理员可以看到的用户个人资料页面上添加相同的自定义字段。这可能吗?
【问题讨论】:
标签: php wordpress woocommerce account user-data
更新 - 要在 Wordpress 管理员用户页面中添加这两个“最喜欢的颜色”自定义字段,您将使用以下内容:
// Add the custom field "favorite_color" in admin user
add_action( 'show_user_profile', 'add_extra_custom_user_data', 1, 1 );
add_action( 'edit_user_profile', 'add_extra_custom_user_data', 1, 1 );
function add_extra_custom_user_data( $user )
{
?>
<h3><?php _e("Other details",'woocommerce' ); ?></h3>
<table class="form-table">
<tr>
<th><label for="favorite_color"><?php _e( 'Favorite color', 'woocommerce' ); ?></label></th>
<td><input type="text" name="favorite_color" value="<?php echo esc_attr(get_the_author_meta( 'favorite_color', $user->ID )); ?>" class="regular-text" /></td>
</tr><tr>
<th><label for="favorite_color2"><?php _e( 'Favorite color 2', 'woocommerce' ); ?></label></th>
<td><input type="text" name="favorite_color2" value="<?php echo esc_attr(get_the_author_meta( 'favorite_color2', $user->ID )); ?>" class="regular-text" /></td>
</tr>
</table>
<br />
<?php
}
// Save the custom field 'favorite_color' in admin user
add_action( 'personal_options_update', 'save_extra_custom_user_data' );
add_action( 'edit_user_profile_update', 'save_extra_custom_user_data' );
function save_extra_custom_user_data( $user_id )
{
if( ! empty($_POST['favorite_color']) )
update_user_meta( $user_id, 'favorite_color', sanitize_text_field( $_POST['favorite_color'] ) );
if( ! empty($_POST['favorite_color2']) )
update_user_meta( $user_id, 'favorite_color2', sanitize_text_field( $_POST['favorite_color2'] ) );
}
代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。
【讨论】: