Skip to content

Instantly share code, notes, and snippets.

Last active April 1, 2024 19:21
Show Gist options
  • Save om4james/9883140 to your computer and use it in GitHub Desktop.
Save om4james/9883140 to your computer and use it in GitHub Desktop.
Display product description on WooCommerce shop/category pages
* Add the product's short description (excerpt) to the WooCommerce shop/category pages. The description displays after the product's name, but before the product's price.
* Ref:
* Put this snippet into a child theme's functions.php file
function woocommerce_after_shop_loop_item_title_short_description() {
global $product;
if ( ! $product->post->post_excerpt ) return;
<div itemprop="description">
<?php echo apply_filters( 'woocommerce_short_description', $product->post->post_excerpt ) ?>
add_action('woocommerce_after_shop_loop_item_title', 'woocommerce_after_shop_loop_item_title_short_description', 5);
Copy link

JOY commented Jul 22, 2021

Thanks @mrwweb . Works well on the category page. Only description we use are rather long so will need to shorten them some with something like

add_filter( 'woocommerce_short_description', 'prefix_filter_woocommerce_short_description' );
 * Limit WooCommerce Short Description Field
function prefix_filter_woocommerce_short_description( $post_post_excerpt ) { 
    // make filter magic happen here... 
    if(! is_product() ) { // add in conditionals
        $text = $post_post_excerpt; 
        $words = 10; // change word length
        $more = ' […]'; // add a more cta
        $post_post_excerpt = wp_trim_words( $text, $words, $more );
    return $post_post_excerpt; 

as shared by Neil Gee

This doesn't work to me. The code of @mrwweb work.

Copy link

lobebe commented Dec 6, 2021

This works perfectly in functions.php

Copy link

What if I would like to filter only the first paragraph of the short description instead of trim words?

Copy link

imSpires commented Apr 1, 2024

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment