From 0f73aeb26e46d0eef456f754aef1389c0a827ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thayn=C3=A1=20Zacharias?= Date: Fri, 6 Sep 2024 14:58:31 -0300 Subject: [PATCH] altera limite de palavras considerando numero maximo de caracteres definido anteriormente --- themes/midia-ninja-theme/library/utils.php | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/themes/midia-ninja-theme/library/utils.php b/themes/midia-ninja-theme/library/utils.php index 7d0649b9..2758161f 100644 --- a/themes/midia-ninja-theme/library/utils.php +++ b/themes/midia-ninja-theme/library/utils.php @@ -776,17 +776,31 @@ function ethos_theme_setup() { */ function limit_title_length_on_home($title) { if (is_front_page()) { - $max_words = 20; // Defina o número máximo de caracteres - return wp_trim_words($title, $max_words, "..."); + $size = 21; // Número inicial de palavras + $title = wp_trim_words($title, $size); // Limita inicialmente a 21 palavras + + // Enquanto o título tiver mais que 100 caracteres e o número de palavras for maior que 1 + while (mb_strlen($title) > 103 && $size > 1) { + $size--; // Diminui o número de palavras + $title = wp_trim_words($title, $size); // Limita o título a esse novo número de palavras + } } return $title; } + add_filter('the_title', 'limit_title_length_on_home', -1); + function limit_excerpt_length_on_home($excerpt) { if (is_front_page()) { - $max_words = 35; // Defina o número máximo de caracteres - return wp_trim_words($excerpt, $max_words, "..."); + $size = 35; // Número inicial de palavras + $excerpt = wp_trim_words($excerpt, $size); // Limita inicialmente a 21 palavras + + // Enquanto o título tiver mais que 100 caracteres e o número de palavras for maior que 1 + while (mb_strlen($excerpt) > 153 && $size > 1) { + $size--; // Diminui o número de palavras + $excerpt = wp_trim_words($excerpt, $size); // Limita o título a esse novo número de palavras + } } return $excerpt; }