X
    Categories: WooCommerce Tutorials, Tips and GuidesWordPress Tutorials, Tips and Guides

How to Display Product Description in Product Pages on WooCommerce

WooCommerce comes packaged with archive pages and loops that make the product display awesome. Yet here and there you may need to show more data on your main shop and other archive pages. This tutorial demonstrates how to show short description of products to archive pages and display it below the title of the product.You can also add minimum shipping requirement rule on products.

Creating Plugin

In your wp-content/plugins directory, create PHP file with the name cloudways-product-shor-des.php

Open the file in your code editorial manager. At the top of the file, include this:

<?php
/*
 * Plugin Name: Cloudways Display Product Short Descriptions in WooCommerce
 * Description: Add product short descriptions to the loop in product archive pages
 * Version: 1.0
 */

This sets up the plugin and gives WordPress all that it needs to activate it.

Now go to the Plugins area in  WordPress admin area and find the plugin:

Now Activate the plugin.

At first it won’t have any effect as you haven’t populated it. This is what the shop page looks like right at this point:

Function for Output Short Description

The short description for products in WooCommerce utilizes the excerpt that you’d find in normal posts. So to show it, you should simply show the excerpt for the post.

In your plugin file, add the code below:

 function cloudways_short_des_product() {

     the_excerpt();
}

It’s as basic as that! Yet, now you have to hook your function to the right activity, so that it’s output in the correct place in your archive pages.

Function Hook for Correct Action

How about we investigate the file in WooCommerce that output the content of the loop on archive pages? This file is content-product.php, and you’ll see it in the templates folder in the WooCommerce plugin. The file incorporates various action hooks, all of which are utilized by WooCommerce to output different content.

As we need to show our excerpt below the title of the product, the hook we have to utilize is woocommerce_after_shop_loop_item_title . As you can see from the content-product.php file, it’s now got two functions attached to it, woocommerce_template_loop_rating() and woocommerce_template_loop_price(), which have priorities of 5 and 10 separately. So we need to hook our function with a higher priority number, to ensure it fires after those. I’ll leave some leeway and use 40 as the priority.

Beneath your function, add this:

add_action( 'woocommerce_after_shop_loop_item_title', 'cloudways_short_des_product', 40 );

Now the complete code becomes:

function cloudways_short_des_product() {
    the_excerpt();
}

add_action( 'woocommerce_after_shop_loop_item_title', 'cloudways_short_des_product', 40 );

Now save your plugin file and refresh the shop page in your browser. 

These descriptions are bit long. To reduce the content length, add the following code in  your functions.php located at theme folder.

function get_ecommerce_excerpt(){
$excerpt = get_the_excerpt();
$excerpt = preg_replace(" ([.*?])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, 100);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = trim(preg_replace( '/s+/', ' ', $excerpt));
return $excerpt;
}

$excerpt = substr($excerpt, 0, 100); where 100 is character limit. you can manage content  length by increasing and decreasing its value.

Further  replace the following function

the_excerpt();

by

echo get_ecommerce_excerpt();

in your plugin file having name cloudways-product-shor-des.php

Now save your plugin file and refresh the shop page in your browser. 

Conclusion

Since WooCommerce outputs the greater part of its content utilizing hooks, it’s appropriate to include more content by writing functions and connecting them to those hooks. The tutorial demonstrates how to add short description of product at product archives.

Owais Alam :is the WordPress Community Manager at Cloudways - A Managed WooCommerce Hosting Platform and a seasoned PHP developer. He loves to develop all sorts of websites on WordPress and is in love with WooCommerce in particular. You can email him at owais.alam@cloudways.com