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!
PHP Snippet: Custom Shortcode to Display a Product’s Long Description
/**
* @snippet Display Long Description Via Shortcode
* @usage [pid_desc id="123"]
* @how-to businessbloomer.com/woocommerce-customization
* @author Rodolfo Melogli, Business Bloomer
* @compatible WooCommerce 7
* @community https://businessbloomer.com/club/
*/
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() ) );
}
Hello!
This is what I need, not for a specific product, but globally and dynamically. Without ID, this code doesn’t make sense. Can you help me how to make it work dynamically?
THX! 🙂
So you want to use the shortcode inside the product page? If yes, just use: