I have a wordpress site with titles, and if the title has more than 50 characters I need to add an ellipsis (...) at the end of the title and stop the title at 50 characters. Below is the PHP I am writing but it seems to not work correctly, seeking a PHP guru to teach me the correct way for this. Any help would be greatly appreciated.
<?php if (strlen("the_title()") > 50) { ?>
<?php the_title(); ?>
<?php } if (strlen("the_title()") < 50) { ?>
<?php echo substr(get_the_title(), 0, 50); ?>...
<?php } ?>
WordPress has built in function
"wp_trim_words()"
to trim the sentences based on the number of words you provide,https://codex.wordpress.org/Function_Reference/wp_trim_words
to trim the title larger than 5 words you can do this
You're checking the length of the string
"the_title()"
. Remove the quotes, and it will probably work (I'm not 100% sure of the difference between the_title() and get_the_title(), as I haven't used Wordpress in a while -- you might have to switch that around too):or maybe
Add this to your "functions.php" file in your theme folder....
then call the title like as follows
Single Code, 100% working
PHP Function mb_strimwidth() | Wordpress Function get_the_title()
Take
the_title()
out of quotes when using thestrlen()
function.