通过自定义前端表单设置 Woocommerce 产品标签和类别

Posted

技术标签:

【中文标题】通过自定义前端表单设置 Woocommerce 产品标签和类别【英文标题】:Setting Woocommerce Product Tags and Categories via Custom Frontend Form 【发布时间】:2014-06-02 08:58:37 【问题描述】:

我正在构建一个表单,供用户使用 wp_insert_postupdate_post_meta 通过我的网站前端创建产品。

在尝试设置产品类别和标签时出现问题。在这方面,Woocommerce 似乎没有使用标准的 Wordpress 分类法。有人对此有经验吗?似乎 Woocommerce 在某些地方使用product_tags。是否有类似于 Wordpress 的功能来创建它们?

下面是我正在做的事情。谢谢!

$post = array(
 'ID' => '',
 'post_content' => $_POST['post_content'],
 'post_title' => $_POST['post_title'],
 'post_status' => 'draft',
 'post_type' => 'product',
 'post_author' => $user_id,
);

$newListing = wp_insert_post($post, $wp_error);

//SET META
update_post_meta($newListing, '_stock_status', 'instock', true);
update_post_meta($newListing, '_visibility', 'visible', true);
update_post_meta($newListing, '_price', $_POST['_regular_price'], true);

//SET CATEGORIES - **NOT WORKING**
wp_set_post_categories($newListing, $categories);

//SET THE TAGS **NOT WORKING**
wp_set_post_tags($newListing, $tags, true);

【问题讨论】:

【参考方案1】:

发现内置的 Wordpress 函数 wp_set_object_terms 可以很容易地处理这个问题。

以下是一些示例:

//SET THE PRODUCT CATEGORIES
wp_set_object_terms($productID, array('Cat Name 1', 'Cat Name 2'), 'product_cat');

//SET THE PRODUCT TAGS
wp_set_object_terms($productID, array('tag1','tag2','tag3'), 'product_tag');

【讨论】:

有没有办法显示出现在帖子编辑屏幕中的标签框,以将其带到我们的自定义插件中,那真的很酷。

以上是关于通过自定义前端表单设置 Woocommerce 产品标签和类别的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 3+ 中自定义一些结帐字段属性

替换产品类别的 Woocommerce 单一产品页面上的“添加到购物车”按钮

自定义 woocommerce 结帐表单字段

通过 WooCommerce 产品设置中的自定义复选框将类添加到 WooCommerce 页面

在 WooCommerce 新用户注册电子邮件中添加自定义字段

如何将自定义字段添加到 WooCommerce 注册表单