使用PHP移除WooCommerce商品中的指定标签
移除WooCommerce商品指定标签的PHP实现
你可以通过以下代码补充移除weekly标签的逻辑,核心是先获取目标标签的术语ID,再遍历商品集合逐个移除标签:
function prefix_show_is_products() { $products = wc_get_products(array( 'tag' => array('weekly') )); // 获取'weekly'标签的术语ID(产品标签的分类名是product_tag) $weekly_tag = get_term_by('slug', 'weekly', 'product_tag'); // 确保标签存在,避免后续报错 if ($weekly_tag && !is_wp_error($weekly_tag)) { $tag_id = $weekly_tag->term_id; // 遍历所有带该标签的商品,逐个移除标签 foreach ($products as $product) { // 使用wp_remove_object_terms移除商品与标签的关联 wp_remove_object_terms($product->get_id(), $tag_id, 'product_tag'); } } }
关键说明:
- 用
get_term_by通过slug获取标签ID,比直接用slug操作更可靠,避免标签名称变更导致的问题 wp_remove_object_terms是WordPress核心函数,专门用于移除对象(这里是商品)与分类/标签的关联- 增加标签存在性判断,防止因标签不存在引发的错误
内容的提问来源于stack exchange,提问作者Felix Yonathan
相关产品推荐
相关产品推荐

