在 Woocommerce 单品页面上显示产品运费 class

Display the product shipping class on Woocommerce single product pages

我正在尝试在产品页面上显示运费 class 但我一定是做错了,因为什么都没有显示..

我在function.php中使用了以下代码:

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

    // HERE define your targeted shipping class name
    $defined_shipping_class = "Estimated Delivery in 7-15 days";

    $product_shipping_class = $product->get_shipping_class();

    // Get the product shipping class term name
    $term_name = get_term_by( 'slug', $product_shipping_class, 'product_shipping_class' );

    if( $term_name == $defined_shipping_class ){
        echo '<p class="product-shipping-class">' . $term_name . '</p>';
    }
}

您得到的是 WP_term 对象而不是术语名称……因此请改用以下内容:

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

    // HERE define your targeted shipping class name
    $defined_shipping_class = "Estimated Delivery in 7-15 days";

    // Get the product shipping class WP_Term Object
    $term = get_term_by( 'slug', $product->get_shipping_class(), 'product_shipping_class' );

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

代码进入您的活动子主题(或活动主题)的 function.php 文件。现在应该可以使用了。