【发布时间】: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 );
【问题讨论】:
标签: php wordpress woocommerce