转:定制WooCommerce的账户详情(用户资料)页,增加自定义字段,修改默认字段

WooCommerce是一款非常流行的WordPress电商插件。然而也听到很多人反映,它并太符合中国用户的使用习惯。国内用户的电商网站使用习惯大多是被淘宝培养出来的,因此如果要基于WordPress WooCommerce搭建一个面向国人的小型电商网站,为提高用户体验,还是要对WooCommerce做不少改造的。在做过N个相关项目后,我觉得有必要分几篇文章,把WooCommerce值得改造的点和改造过程总结一下。我的原则还是能不用插件就不用插件,几十行代码能搞定的事情,肯定不会考虑用插件。本文先说说如何自定义账户中心的用户资料页。

首先,默认的WC用户资料页大致是这样的:


这里不符合中国用户习惯的主要是姓名的输入,我希望把姓氏和名称合并为姓名;另外,由于业务需要知道更多用户信息,可能还需要增加一些其他的必要字段,比如增加一个手机号码。因此我们要把页面改成这样:

WordPress的特性,每个用户都有一个叫nickname的用户字段可以存放用户昵称或者姓名,而且nickname也可以做为displayname显示在网站前端,兼容性不错,这样就没必要创造新的用户字段去合并姓和名了。
于是先要去除姓和名的必填属性,在一个叫woocommerce_save_account_details_required_fields的filter中,代码如下,加在主题function文件里:

同时找到主题文件夹中的\myaccount\form-edit-account.php 文件,放心地把account_first_name和account_last_name相关的的HTML去除,然后直接加上nickname部分:

然后在主题function文件里加上保存nickname的代码,用于保存字段:

接下来是增加一个phonenumber的必填字段存储手机号
可以到form-edit-account.php里去写HTML,也可以在页面表单里用woocommerce_edit_account_form钩子可以直接添加:

改写一下前面保存字段的代码,增加一行保存电话号码

这就基本完成了,不过我想把新增的电话号码和前面的nickname做为必填字段,而且还要验证一下手机号格式,用这个钩子woocommerce_save_account_details_errors可以方便地添加字段验证,代码:

这样就算完成了,若有其他修改需求,都可以举一反三。下次有空我再总结一下如何修改账户地址和结帐页面的表单项。

本文属小熊原创或转载整理,转载请注明来自:青州小熊 » 转:定制WooCommerce的账户详情(用户资料)页,增加自定义字段,修改默认字段
微信公众号:青州小熊真品店
关注小熊服务号,小熊第一时间更新到货,分享更多好玩的东西。
25768人已关注
分享到:
赞(0)

留言抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
熊店 购物车 订单 新货 主页
电话
QQ
  • 青州小熊 点击这里给我发消息
旺旺
  • 青州小熊 点这里给我发消息
邮箱
  • 青州小熊
QQ群
  • 熊店产品交流群 熊店产品交流群
微信号
  • 扫一扫,加入小熊的微信公众号