首页 > 解决方案 > 检查结帐期间是否已存在财务代码 [WOOCOMMERCE]

问题描述

大家早上好,

我正在尝试在结账时引入财务代码验证。验证类似于 Wordpress 对电子邮件所做的验证。

我创建了一个类似的“email_exists()”函数来检查订单中的财务代码是否已经存在,然后我放置了一个函数来在此财务代码存在时发出警告。

这是代码:

function cf_exists( $order_cf ) {
   $order_cf =  $order->billing_address_2;
   $user = get_user_by( 'fiscalcode', $billing_address_2 );
   if ( $user ) {
       $user_id = $user->ID;
   } else {
       $user_id = false;

function cf_check(){
if ( cf_exists( $order_cf ) ) {
       return new WP_Error( 'registration-error-fc-exists', __( 'An account is already registered with your fiscal code. Please login.', 'woocommerce' ) ); 
}

像往常一样,Wordpress 会自行中断,我不明白我错过了什么。希望得到一些帮助,提前感谢您的时间!

标签: wordpresswoocommercehook-woocommercecheckoutwoocommerce-checkout-fields

解决方案


只是少了几个右括号,你就弄乱了函数参数。它也是 get_billing_address_2() 并且您需要返回一些东西:

function cf_exists( $order ) {
   $order_cf =  $order->get_billing_address_2();
   $user = get_user_by( 'fiscalcode', $billing_address_2 );
   if ( $user ) {
       return true;
   } else {
       return false;
   }
}

function cf_check( $order ){
   if ( ! cf_exists( $order ) ) {
       wc_add_notice( __( 'An account is already registered with your fiscal code. Please login.', 'woocommerce' ), 'error' );
   }
}

推荐阅读