Limite mínimo de caracteres usando a função Excerpt
-
Bom dia!
Personalizei um template para um cliente e apareceu um problema super chato. Eu preparei o template para que o archive.php exibisse posts com a função Excerpt, exibindo apenas um limite de palavras pré selecionado e imagens pequenas quando alguém clicasse em uma categoria, tag, autor, etc.
Juntamente com o excerpt coloquei também o botão “leia mais”, que no caso do meu cliente se chama “Continue…”, personalizado pra funcionar. Optei para que o texto fosse cortado com 30 palavras e voilá, perfeito! Tudo funcionando normalmente!
O problema é que meu cliente fez um post com apenas 10 palavras antes da tag <!– more –> e o maldito botão Continue não aparece em posts que tenham menos de 30 palavras antes da tag. Não posso diminuir o limite de palavras se não todos os outros posts ficarão muito pequenos.
A situação perfeita seria:
1 – Se fosse possível determinar que a tag <!– more –> controlasse o excerpt, ao invés deste limite de palavras.
2 – Se existisse um limite mínimo de palavras no excerpt de modo que o botão “Continue…” aparecesse.Enfim, no archive.php e search.php está assim:
<?php wpe_excerpt('wpe_excerptlength_featured', 'wpe_excerptmore'); ?>
No functions.php está assim:
function wpe_excerptlength_featured($length) {
return 30;
}
function wpe_excerptlength_index($length) {
return 10;
}function wpe_excerpt($length_callback='', $more_callback='') {
global $post;
if(function_exists($length_callback)){
add_filter('excerpt_length', $length_callback);
}
if(function_exists($more_callback)){
add_filter('excerpt_more', $more_callback);
}
$output = get_the_excerpt();
$output = apply_filters('wptexturize', $output);
$output = apply_filters('convert_chars', $output);
$output = '<p>'.$output.'</p>';
echo $output;
}function new_excerpt_more($more) {
return '...ID) . '">' . '<div id="continue"> </div>' . '';
}
add_filter('excerpt_more', 'new_excerpt_more');Existe algum jeito de corrigirmos isso de forma que o botão “Continue…” aparecesse em posts com menos de 30 palavras antes do <!–more–>?
Exemplo de tag com problema no site do cliente: http://magnatas.net/tag/jogos/Muito obrigado pessoal!
- O tópico ‘Limite mínimo de caracteres usando a função Excerpt’ está fechado para novas respostas.