Menu Close

WooCommerce: Product Description in a Shortcode!

default

It may be helpful to show the long product description of a given product in a custom WordPress page or post, so that you can use it as a teaser or anyway as a way to save some time instead of rewriting the whole thing.

The solution is easy: let’s code a simple shortcode that accepts a product ID as a shortcode attribute, and that returns its long description, properly formatted.

You can see this in action on this same website. Here’s one of my downloadable products’ long description: https://www.businessbloomer.com/shop/plugins/woocommerce-disable-payments-by-category/#tab-description – and here’s the same exact description printed in a blog post, thanks to the shortcode snippet you find below: https://www.businessbloomer.com/woocommerce-disable-payment-method-for-specific-category/#mini-plugin-business-bloomer-woocommerce-toggle-payments-by-category

Enjoy!

In this blog post, I’m reusing my product’s long description as a teaser for buying the product. Instead of rewriting it, or copying/pasting it, this handy shortcode allows me to display it on a custom page/post!

PHP Snippet: Custom Shortcode to Display a Product’s Long Description

/**
 * @snippet       Display Long Description Via Shortcode
 * @usage         [pid_desc id="123"]
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 7
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

add_shortcode( 'pid_desc', 'bbloomer_long_desc_by_product_id' );
 
function bbloomer_long_desc_by_product_id( $atts ) {
   $product_id = $atts['id'] ? $atts['id'] : 0;
   $product = wc_get_product( $product_id );
   if ( ! $product ) return;
   return wpautop( wptexturize( $product->get_description() ) );
}
View Source
Posted in WooCommerce Tips