在Woocommerce编辑个人资料“我的账户”页面中提供自定义注册字段

4

我正在使用WooCommerce插件在WordPress中开发电子商务网站,我在注册表单中添加了一些额外字段,例如手机号码、性别等。我该如何在用户的My Account页面的编辑个人资料中提供这些额外字段,以便用户进行编辑。

1个回答

2
你可以尝试这个例子:
add_action( 'woocommerce_edit_account_form', 'my_woocommerce_edit_account_form' );
add_action( 'woocommerce_save_account_details', 'my_woocommerce_save_account_details' );

function my_woocommerce_edit_account_form() {

$user_id = get_current_user_id();
$user = get_userdata( $user_id );

if ( !$user )
  return;

$twitter = get_user_meta( $user_id, 'twitter', true );
$url = $user->user_url;

?>

<fieldset>
<legend>Social information</legend>
<p>Fill in this information about your social media accounts.</p>
<p class="form-row form-row-thirds">
  <label for="twitter">Twitter Username:</label>
  <input type="text" name="twitter" value="<?php echo esc_attr( $twitter ); ?>" class="input-text" />
</p>
</fieldset>

<fieldset>
<legend>Additional Information</legend>
<p class="form-row form-row-thirds">
  <label for="url">Website:</label>
  <input type="text" name="url" value="<?php echo esc_attr( $url ); ?>" class="input-text" />
</p>
</fieldset>

<?php
}

function my_woocommerce_save_account_details( $user_id ) {

update_user_meta( $user_id, 'twitter', htmlentities( $_POST[ 'twitter' ] ) );

$user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'url' ] ) ) );

}

更多信息请参考以下链接:

希望这些对您有所帮助。


谢谢。对我很有用。 - Tarunya .R
好的,那就接受这个答案吧。这样可以帮助其他人。 - Sunil Dora
我已经接受了。 - Tarunya .R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接