Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

limit woocommerce product short description in home page and category page

I have included product short description in my home and category pages by adding the following code to my child theme functions.php

add_action('woocommerce_after_shop_loop_item_title','woocommerce_template_single_excerpt', 5);

Now I would like to limit the characters of product short description in the home and category pages.

Any help please??

More code and clarifications: My add_action is added to the following file woocommerce/includes/wc-template-hooks.php and here are the Product Loop Items.

add_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
add_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 );

add_action( 'woocommerce_before_subcategory', 'woocommerce_template_loop_category_link_open', 10 );
add_action( 'woocommerce_shop_loop_subcategory_title', 'woocommerce_template_loop_category_title', 10 );
add_action( 'woocommerce_after_subcategory', 'woocommerce_template_loop_category_link_close', 10 );

add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 );

everything is printed here: Mytheme/woocommerce/single-product.php and the code is

   <div class="container-inner">
        <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>
        <div class="image-block">       
        <a href="<?php the_permalink(); ?>">        
            <?php
                /**
                 * woocommerce_before_shop_loop_item_title hook
                 *
                 * @hooked woocommerce_show_product_loop_sale_flash - 10
                 * @hooked woocommerce_template_loop_product_thumbnail - 10
                 */
                do_action( 'woocommerce_before_shop_loop_item_title' );
            ?></a>          
            <div class="product-block-hover"></div>

            </div>
<a href="<?php the_permalink(); ?>"><h3 class="product-name"><?php     the_title(); ?></h3></a>
            <?php
                /**
                 * woocommerce_after_shop_loop_item_title hook
                 *
                 * @hooked woocommerce_template_loop_rating - 5
                 * @hooked woocommerce_template_loop_price - 10 
                 */
                 do_action( 'woocommerce_after_shop_loop_item_title' );
            ?>                                      

        <?php do_action( 'woocommerce_after_shop_loop_item' ); ?>
        </div>              
like image 292
salimottmani Avatar asked Jan 16 '26 22:01

salimottmani


1 Answers

You can edit the lenght with the woocommerce_short_description filter, do something like this:

add_filter('woocommerce_short_description','limit_short_descr');

function limit_short_descr($description){
  return ($description > 140) ? substr($description, 0 , 140) : $description;
}

Also you can add a &hellip; after the text to make it look better.

like image 100
Skatox Avatar answered Jan 19 '26 11:01

Skatox



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!