如何将WooCommerce结账字段转换为大写字母

时间:2019-11-18 作者:Maria Georgali

我有一个woocommerce结账页面,在那里,客户可以随心所欲地书写,全部小写,全部大写,等等。

如何以大写字母显示姓名、姓氏、地址等结账字段?

非常感谢。

1 个回复
SO网友:Tom

如果希望值显示大写(或大写),那么将CSS添加到主题就可以了。

.your-input-class{
  text-transform: uppercase; /* or you can use \'capitalize\' */
}
如果您关心的是如何将值保存在数据库中,则需要向网站添加自定义代码,该代码与保存签出字段的操作挂钩,即woocommerce_checkout_posted_data 建立here.

您可以使用以下内容来大写用户输入的数据。我们的示例可以是;“简”;和;能源部;名字和姓氏。

<?php

add_filter(\'woocommerce_checkout_posted_data\', \'mg_custom_woocommerce_checkout_posted_data\');
function mg_custom_woocommerce_checkout_posted_data($data){
  // The data posted by the user comes from the $data param. 
  // You would look for the fields being posted, 
  // like "billing_first_name" and "billing_last_name"

  if($data[\'billing_first_name\']){
    /*
      From jAnE to JANE
    */
    $data[\'billing_first_name\'] = strtoupper($data[\'billing_first_name\']);
  }

  if($data[\'billing_last_name\']){
    /*
      From DOe to DOE
    */
    $data[\'billing_last_name\'] = strtoupper($data[\'billing_last_name\']);
  }

  return $data;
}
上述代码尚未测试-未经测试,请勿在生产现场使用

注意:在上面的示例中,我使用strtoupper PHP函数,但您可以用ucfirst 将第一个字母大写,而不是整个字符串。

参考文献:

相关推荐