Viewing 24 posts - 1 through 24 (of 24 total)
  • Author
    Posts
  • #588594

    Hello

    We are using portofolio items to show those in the Masonry view side by side.
    Please see the attached image. As you can see, box #2 (right) is higher then box #1 (left).
    The client wants to use same width + height for all images, no cropping allowed.
    Please do note, that all of the images we use has the exact same size and aspect ratio.

    Is there any function that we can add to our theme’s child functions.php file that will simply limit the excerpt for all of the portofolio entries?
    Basically if the text is 50 lettes and we need only 30, then the text is get cut after 30 letters and the “…” is added at the end.

    Something like this (not working for us):

    add_filter(‘avf_masonry_excerpt_length’,’avia_change_masonry_excerpt_length’, 10, 1);
    function avia_change_masonry_excerpt_length($length)
    {
    $length = 30;
    return $length;
    }

    We’ve also tried this code, with no positive result:

    add_filter( 'avf_masonry_excerpt_length', 'masonry_excerpt_length');
    function masonry_excerpt_length() {
    $excerpt = 30;
    return $excerpt;
    }

    Please assist, thanks!

    All the best

    • This topic was modified 8 years, 9 months ago by WebVision.
    #589010

    Please do help, we’ve tried nearly all possible solution from this forum with no success.

    #589200

    Hey!

    Do you mind creating a temporary admin login and posting it here privately so we can look into it? You are using correct hook

    Regards,
    Yigit

    #589203

    Hey!

    Sure thing. Here you go.

    #589614

    Do you need any extra information from our end?

    All the best

    #591198

    Still looking for help :)

    #591915

    Hi!

    Sorry for the delay. Bumping your own tickets will not help you get faster response as the tickets move to the bottom.

    We are working on your ticket please wait while we update the results here soon.

    There are two ways you can do this

    1.the CSS way
    2. the jQuery way

    NOTE: Use only one method for best results.

    1. CSS Way

    Just add the below css to Quick CSS

    /* Excerpt length*/
    .av-masonry-entry .av-masonry-entry-title + .av-masonry-entry-content {
        max-height: 34px!important;
    }
    

    2. The jQuery way
    We have added the below code in functions.php

    // Excerpt length
    function custom_excerpt(){
    ?>
    <script>
    jQuery(window).load(function(){
        jQuery('.type-portfolio').each(function() {
         	jQuery("div.entry-content").text(function(index, currentText) {
         		return currentText.substr(0, 84);
    		 });        
        });
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'custom_excerpt');

    Regards,
    Vinay Kashyap

    • This reply was modified 8 years, 8 months ago by Vinay.
    #591962

    Hello Vinay

    jQuery way would be the best, yes. And it does cut the text, yes.
    But you’ve missed one important part of my original question: “if the text is 50 lettes and we need only 30, then the text is get cut after 30 letters and the “…” (&ellipsis;) is added at the end.”
    Please do adjust the code, thank you.

    All the best.

    #592192

    Hi!

    we have modified and updated the code please check the site now…
    To show more or less words please feel free to adjust the number 30 in line

    return currentText.substr(0, 30);  
    

    The code is in functions.php at the bottom.

    // Excerpt length
    function custom_excerpt(){
    ?>
    <script>
    jQuery(window).load(function(){
        jQuery('.type-portfolio').each(function() {
         	jQuery("div.entry-content").text(function(index, currentText) {
         		return currentText.substr(0, 30);     		
    		 });
         	jQuery("div.entry-content").append("...");        
        });
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'custom_excerpt');

    Best regards,
    Vinay Kashyap

    #592202

    Dear Vinay

    1) We would like to use &ellipsis; (…) instead of the … (please notice that the first sign is not 3 different dots, but 1 sign including 3 dots in 1 sign).

    2) Some excerpts are short, some a longer. In a case where the excerpt is only 29 signs and we limit the excerpt by 30, the output looks funny – suddenly there is added additional 10 dots at the end.
    Please recheck the site – I’ve now changed excerpt to 1000 so all of the excerpts has these many dots at the end.

    All the best.

    #592293

    Hey!

    We have replaced the 3 dots with ellipsis; (…) please check screenshot i do not see any issue what is the 10 dots at the end you mentioned? please share the link where we can inspect the element in question…

    Regards,
    Vinay Kashyap

    #592298

    Dear Vinay

    Please see the private link, 3rd portofolio box called “Automatic Dust Sampler (ADS)”

    To get this effect, I’ve replaced 30 with 100. And since “Automatic Dust Sampler (ADS)”‘s excerpt is under 100 characters, you get the extra dots at the end.

    While we talk about limiting the excerpt for the portofolio item, is it also possible to limit the title of the portofolio item (“Automatic Dust Sampler (ADS)”)? It should be possible to limit excerpt and the title independently of each other.

    All the best

    • This reply was modified 8 years, 8 months ago by WebVision.
    #592325

    Hi!

    Yes we can do that with the titles …

    Sorry the code in function.php conflicted…. please login to your FTP and goto the child theme folder download the functions.php and remove the last block that says “// Title length” from functions.php and re-upload it or create a FTP user ID and share in private.

    Best regards,
    Vinay Kashyap

    #592346

    Hey again

    Sounds great!

    Last block has been removed as requested.

    All the best

    #592505

    Hi!

    we have limited the title and excerpts however it works till 90 characters… Not sure if it’s a wordpress thing to limit it because if you use 100 that strange problem with extra dots appear …….. so 90 is the limitation

    please feel free to change the number 15 in excerpt title to increase or decrease the title length

    return currentText.substr(0, 15); 
    

    The final code used for the modifications are

    
    // Excerpt length
    function custom_excerpt(){
    ?>
    <script>
    jQuery(window).load(function(){
        jQuery('.type-portfolio').each(function() {
         	jQuery("div.entry-content").text(function(index, currentText) {
         		return currentText.substr(0, 90);
    		 });
    	jQuery("div.entry-content").append("…");
        });
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'custom_excerpt');
    
    // Excerpt title
    function custom_title(){
    ?>
    <script>
    jQuery(window).load(function(){
        jQuery('.type-portfolio').each(function() {
         	jQuery("div.entry-title").text(function(index, currentText) {
         		return currentText.substr(0, 10);
    		 });
    	jQuery("div.entry-title").append("…");
        });
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'custom_title');

    Regards,
    Vinay Kashyap

    #592509

    Hello Vinay

    I’ve now changed the limit of the title from 10 to 50. Guess what? 3 of the portofolio items on that specific page has the title shorter then 50 chars, so all of these 3 portofolio items’ titles has the same issue with ……… at the end. This isn’t suitable, as you see and frankly, we don’t think it’s a limitation from WordPress.

    Could we please get you to give it another shot?

    All the best.

    #592921

    Hey!

    It’s a production site so i would prefer having FTP access and try the new code.

    Please replace all the code both excerpt length and title with the below code

    // Excerpt length
    function custom_excerpt(){
    ?>
    <script>
    jQuery(window).load(function(){
        jQuery('.type-portfolio').each(function() {
         	jQuery(".entry-content").text(function(index, currentText) {
         		return currentText.substr(0, 100);
    		 });
        	jQuery(".entry-title").text(function(index, currentText) {
         		return currentText.substr(0, 50);
    		 });
        });
    	jQuery(".type-portfolio").find(".entry-content").append("…");
    	jQuery(".type-portfolio").find(".entry-title").append("…");
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'custom_excerpt');

    If this don’t work correctly please setup FTP access for us.

    Cheers!
    Vinay Kashyap

    #592926

    Hello Vinay

    This works perfectly now! No more “………..” dots at the end if the text is shorter than the limit.
    The only last problem that we have right now is that IF the text is shorter than the limit, then the “…” is ALWAYS added to the end, no matter what.

    As we posted in the very first post in this thread: “Basically if the text is 50 lettes and we need only 30, then the text is get cut after 30 letters and the “…” is added at the end.” – so the “…” should be added ONLY if the text is longer than the X amount of characters.

    All the best.

    #593177

    Hey!

    That’s great!

    As I understand you require one script to work in both situation

    Situation -1 : If the excerpt length is less than the available space you need the “…”
    Situation -2 : If the excerpt length is more than the available space the “…” should be removed

    This requires a complex algorithm and a lot of time to accomplish it you might have to hire a freelancer

    We are more than happy to help you with any minor changes modifications you need. Please let us know if you need any other minor changes we are happy to help :)

    Cheers!
    Vinay Kashyap

    #593179

    Hello Vinay

    Not really. Let me simplify it for you.

    If the text is longer then the limit > cut it.
    Otherwise > do nothing.

    That’s 1 situation, pretty simple, if you ask me.

    All the best.

    #593337

    Hi!

    I’m not sure what you mean by cut the text? but as you might already know to reduce the excerpt length you just need to change the “XX” number in the below line of the final code provided.

    return currentText.substr(0, XX);
    

    Best regards,
    Vinay Kashyap

    #593445

    Hello Vinay

    By cutting text I mean to reduce the text to the maximum amount of characters as it’s defined/limited in the function.

    Let’s try again.

    If the text is longer than the limit > reduce the text (to the max amount of characters defined by the function).
    If the text is shorter than the limit > do nothing.

    Does it makes sense now?

    All the best.

    #594466

    Hello

    We’ve got it covered.

    // Excerpt length
    function custom_excerpt(){
    ?>
    <script>
    jQuery(window).load(function(){
        jQuery('.type-portfolio').each(function() {
            jQuery(".entry-content").text(function(index, currentText) {
              if (currentText.length > 100)
              {
                return currentText.substr(0, 100) + "…";
              }
             });
            jQuery(".entry-title").text(function(index, currentText) {
              if (currentText.length > 50)
              {
                return currentText.substr(0, 50) + "…";
              }
             });
        });
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'custom_excerpt');

    All the best.

    #594532

    Hey!

    Sorry for the delay we have been crazy busy off late.

    Glad you got it sorted. jQuery is amazing isn’t it :)

    Please feel free to get in touch with us if you have any questions.

    Thank you for using Enfold :)

    Regards,
    Vinay Kashyap

Viewing 24 posts - 1 through 24 (of 24 total)
  • You must be logged in to reply to this topic.