Skip to content

Instantly share code, notes, and snippets.

@twont
Forked from om4james/functions.php
Last active May 23, 2019 17:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save twont/eb15fd4d71fe9153641d0373150b9b72 to your computer and use it in GitHub Desktop.
Save twont/eb15fd4d71fe9153641d0373150b9b72 to your computer and use it in GitHub Desktop.
Display product description on WooCommerce shop/category pages
<?php
/**
* 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: https://gist.github.com/om4james/9883140
*
* 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 substr(apply_filters( 'woocommerce_short_description', $product->post->post_excerpt ),0,230);
echo '...'
?>
</div>
<?php
}
add_action('woocommerce_after_shop_loop_item_title', 'woocommerce_after_shop_loop_item_title_short_description', 5);
@twont
Copy link
Author

twont commented Nov 12, 2018

Changed to limit description to 230 characters, and will add '...' to the end of the the snippit.

Credits also to: @amanhstu

@klynn33
Copy link

klynn33 commented Dec 7, 2018

This works great but the whole description displays as a clickable link (I verified it wasn't the theme).
Also it's displaying the description before the title, instead of below in shop page.

Any ideas for fix?
Thanks.

@LinnightL
Copy link

@klynn33
Replace all
woocommerce_after_shop_loop_item_title
with
woocommerce_after_shop_loop_item

The following will offer understanding
WooCommerce Archive Page [Visual Hook Guide]
https://businessbloomer.com/woocommerce-visual-hook-guide-archiveshopcat-page/

@KrisKomjati
Copy link

Hy,

I don't know why but if the text does not reach the character limit we set, the ellipsis will be there at a fixed point. I assume we should make an if statement that makes the ellispsis only if the text exceeds the character limit. Can you help me with that?

image

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