Backstory:在使用Realteo插件(融入Findeo主题)执行属性提交后,我会自动生成产品。这是基本形式,但我遇到的问题是自动为这个新生成的产品分配产品供应商。
当我浏览产品供应商代码(来自WooCommerce.com的官方代码)时,我认为该插件将供应商ID存储为产品元数据,密钥为_wcpv_vendor
。然而,这似乎并非如此;即使我手动编辑产品并指定预订,在查看产品的postmeta时也无法找到该密钥。
如果_wcpv_vendor
为空且未分配供应商,则手动编辑该条目不会将供应商分配给产品。
关于如何将供应商ID附加到附件的代码示例:
public function process_attachment( $post_id ) {
if ( WC_Product_Vendors_Utils::auth_vendor_user() ) {
update_post_meta( $post_id, '_wcpv_vendor', WC_Product_Vendors_Utils::get_logged_in_vendor() );
}
return true;
}
我知道我在这里做出的假设是,这对于产品来说是一样的(我知道这是错误的),但是我已经尝试搜索产品供应商的插件代码而无法找到确切的位置当将供应商添加到产品时,插件会将供应商ID分配给产品。
其他快速问题:在此方案中使用WC_Product_Vendors_Utils::get_logged_in_vendor()
是否可以自动提取登录到网站前端的用户的供应商ID?我一直在尝试,但返回的结果是空白的。
任何人都可以帮忙吗?
答案 0 :(得分:0)
在进一步挖掘之后,供应商实际上并没有直接更新post meta,因为Vendor实际上是一个分类法。相反,当保存帖子时,它会使用wp_set_object_terms自动保存供应商ID