WooCommerce产品分类获取:如何仅输出'Hoodies'分类名称?
WooCommerce产品页面仅获取指定分类名称的解决方案
默认$product->get_categories()会返回带HTML链接的分类内容(比如<a href="分类链接">Hoodies</a>),无法直接得到纯分类名称'Hoodies',可以通过以下方法解决:
方法一:通过分类ID精准匹配目标分类
先获取产品关联的分类ID,再通过ID获取分类对象并筛选目标名称:<?php // 获取产品关联的所有分类ID $category_ids = $product->get_category_ids(); $target_cat_name = ''; foreach($category_ids as $cat_id) { $category = get_term($cat_id, 'product_cat'); // 匹配目标分类名称'Hoodies' if($category && !is_wp_error($category) && $category->name === 'Hoodies') { $target_cat_name = $category->name; break; } } ?> <script> // 使用json_encode避免JS语法转义问题 console.log(<?php echo json_encode($target_cat_name); ?>); </script>方法二:直接遍历产品分类对象筛选
通过get_the_terms获取产品的分类对象集合,直接筛选目标名称:<?php $target_cat_name = ''; $categories = get_the_terms($product->get_id(), 'product_cat'); if($categories && !is_wp_error($categories)) { foreach($categories as $category) { if($category->name === 'Hoodies') { $target_cat_name = $category->name; break; } } } ?> <script> console.log(<?php echo json_encode($target_cat_name); ?>); </script>
注意:使用json_encode输出到JS中,能避免因分类名称含特殊字符导致的语法错误,同时确保输出的是纯字符串内容,而非带HTML标签的结构。
内容的提问来源于stack exchange,提问作者SKS
相关产品推荐
相关产品推荐

