在WooCommerce单个产品页面上显示运输类别名称

问题描述

需要在产品页面显示产品运输类别!任何想法为什么这不起作用?

add_action('woocommerce_single_product_summary','display_product_shipping_class',15 );
function display_product_shipping_class(){
    global $product;

    $term = get_term_by( 'slug',$product->get_product_shipping_class(),'product_shipping_class' );

    if( is_a($term,'WP_Term') && $term->name == $product_shipping_class ){
        echo '<p class="product-shipping-class">' . $term->name . '</p>';
    }
}

解决方法

您的代码中存在多个错误。请尝试以下操作:

add_action('woocommerce_single_product_summary','display_product_shipping_class',15 );
function display_product_shipping_class(){
    global $product;
    
    $shipping_class = $product->get_shipping_class();

    if( ! empty($shipping_class) ) {
        $term = get_term_by( 'slug',$shipping_class,'product_shipping_class' );
    
        if( is_a($term,'WP_Term') ){
            echo '<p class="product-shipping-class">' . $term->name . '</p>';
        }
    }
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作。