Woocommerce如何从可变产品的变体中获取对应父产品的描述
问题原因
get_parent_data() 方法仅返回可变产品的核心基础字段(如父ID、名称、定价属性等),不包含产品描述、短描述这类内容字段,需要获取完整的父产品实例对象才能读取对应描述。
正确实现步骤
- 调用变体产品的
get_parent_id()方法获取父产品ID - 用
wc_get_product()方法传入父产品ID,获取父产品的完整WooCommerce产品对象 - 从父产品对象中读取对应描述:调用
get_description()获取长描述,调用get_short_description()获取短描述
完整示例代码
$args = array( 'numberposts' => -1, 'post_type' => 'product_variation', 'suppress_filters' => false, 'orderby' => 'title', 'order' => 'DESC' ); $variation_posts = get_posts( $args ); foreach ( $variation_posts as $variation_post ) { // 实例化变体产品对象 $variation = wc_get_product( $variation_post ); // 读取父产品ID $parent_id = $variation->get_parent_id(); // 实例化父产品对象 $parent_product = wc_get_product( $parent_id ); // 增加判空逻辑避免父产品被删除后出现报错 if ( $parent_product ) { // 获取父产品长描述 $parent_description = $parent_product->get_description(); // 获取父产品短描述(按需使用) $parent_short_desc = $parent_product->get_short_description(); // 后续业务逻辑 // ... } }
内容的提问来源于stack exchange,提问作者MWD
相关产品推荐
相关产品推荐

