Reputation: 13
Need to display the product shipping class to product page! any ideas why this is not working?
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>';
}
}
Upvotes: 1
Views: 911
Reputation: 253959
There are multiple mistakes in your code. Try the following instead:
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>';
}
}
}
Code goes in functions.php file of your active child theme (or active theme). Tested and works.
Upvotes: 2