首页 文章

WooCommerce产品供应商 - 更新分类自定义字段

提问于
浏览
5

This is all in regards to WooCommerce and the Product Vendor extension.

在我的函数中,每次提交重力形式时我都会创建新的分类术语(产品供应商),但是我想要填充其他自定义字段 .

以下工作更新术语名称和slug . 我正在尝试更新PayPal电子邮件,供应商徽标等字段 .

对于此测试,我手动设置下面的变量 .

$user = 'formname';
$email    = 'example@gmail.com';
$description = 'this is a test';

$return = wp_insert_term(
  $user, // the term
  'wcpv_product_vendors', // the taxonomy
  array(
    'description'=> $description,
    'slug' => $user,
  )
);

// Update vendor data
$vendor_data['paypal_email'] = $email; // The email used for the account will be used for the payments
$vendor_data['commission']   = '50'; // The commission is 50% for each order

update_option( 'shop_vendor_' . $return['term_id'], $vendor_data );

// Update vendor data
$vendor_data['paypal_email'] = $email; // The email used for the account will be used for the payments
$vendor_data['commission']   = '50'; // The commission is 50% for each order
$vendor_data['admins'][]     = $customer_id; // The registered account is also the admin of the vendor

update_option( 'shop_vendor_' . $return['term_id'], $vendor_data );

该函数在提交表单时运行,它只是不将数据添加到供应商分类字段中 .

Full Code

//Woocommerce - ETSY - Import
function create_vendor_form( $entry, $form ) {

//////////////////////////////////////////////////////////////////////////// GET DATA FROM API

$user = rgar( $entry, '1' );
$email    = rgar( $entry, '2' );
$description = rgar( $entry, '3' );

$return = wp_insert_term(
  $user, // the term
  'wcpv_product_vendors', // the taxonomy
  array(
    'description'=> $description,
    'slug' => $user,
  )
);

// Update vendor data
$vendor_data['paypal_email'] = $email; // The email used for the account will be used for the payments
$vendor_data['commission']   = '50'; // The commission is 50% for each order
$vendor_data['admins'][]     = $customer_id; // The registered account is also the admin of the vendor

update_option( 'shop_vendor_' . $return['term_id'], $vendor_data );

////////////////////////////////////////////////////////// end GET DATA FROM API

}
add_action( 'gform_after_submission_2', 'create_vendor_form', 10, 2 );

1 回答

  • 2

    首先将数据添加到$ vendor_data数组,然后使用以下代码应用它:

    //Add the data to the array
    $vendor_data['paypal'] = $email;
    $vendor_data['profile'] = $description;
    
    //Update the term meta with the above values.
    update_term_meta($return['term_id'], 'vendor_data', $vendor_data);
    

相关问题