如何在WooCommerce单品页获取并显示属性值描述
解决WooCommerce单品页显示属性值及描述的问题
要获取属性值的描述,你需要先定位属性对应的WooCommerce自定义分类法(系统会给属性自动添加pa_前缀,所以“Details”对应的分类法是pa_details),再通过属性值名称获取完整的术语对象,进而提取描述信息。修改后的代码如下:
add_action( 'woocommerce_single_product_summary', 'my_short_desc', 16 ); function my_short_desc(){ global $product; // 定义属性对应的分类法(WooCommerce属性前缀为pa_,后跟小写属性名) $taxonomy = 'pa_details'; // 获取产品的该属性值文本 $detail_value = $product->get_attribute($taxonomy); if ( !empty($detail_value) ) { // 通过属性值名称获取术语对象 $term = get_term_by('name', $detail_value, $taxonomy); if ( $term && !is_wp_error($term) ) { // 提取术语名称和描述 $detail_name = $term->name; $detail_desc = term_description($term->term_id, $taxonomy); echo $detail_name . '<br>' . $detail_desc; } } }
核心说明:
- WooCommerce产品属性本质是自定义分类,每个属性对应一个
pa_开头的分类法标识 get_term_by()函数可以通过属性值名称匹配到完整的术语对象,包含ID、描述等关键信息- 加入非空判断和错误校验,避免属性为空或术语获取失败时出现异常
内容的提问来源于stack exchange,提问作者Kiyik
相关产品推荐
相关产品推荐

