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

Posted

技术标签:

【中文标题】WooCommerce 产品供应商 - 更新分类自定义字段【英文标题】:WooCommerce Product Vendors - update taxonomy custom fields 【发布时间】:2017-02-06 10:42:24 【问题描述】:

这都是关于 WooCommerce 和产品供应商扩展的。

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

以下内容用于更新术语名称和 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 );

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

完整代码

//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】:

您首先将数据添加到 $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);

【讨论】:

你怎么知道是你需要使用的“profile”,例如我可能猜到了“vendor_profile”之类的。

以上是关于WooCommerce 产品供应商 - 更新分类自定义字段的主要内容,如果未能解决你的问题,请参考以下文章

获取 WooCommerce 中没有特定分类的产品列表

获取WooCommerce中没有特定分类的产品列表

将自定义产品分类更改为 WooCommerce 产品分类

在 Woocommerce 中使用自定义元数据隐藏“缺货”产品

如何显示 WooCommerce 产品的自定义分类?

在 WooCommerce 产品标题之前显示自定义分类