Ocasionalmente deparo com projectos de layout construidos com diversas restrições relativamente à quantidade de texto que permitem em certas zonas.
Um erro normal dos designers menos experientes é criar designs onde os títulos contêm apenas 1 linha de texto e colocar isso dentro de caixas que não é suposto aumentarem se o conteúdo for superior ao aplicado por eles no design.
Depois de muitas conversas e divergências acabei por desenvolver uma função que permite definir facilmente o tamanho do titulo de cada post.
A função recebe um valor numérico que corresponde ao número de caracteres máximos que o titulo pode ter (espaços incluídos) e limita ao titulo a esse número.
Para utilizares esta função copia o seguinte código para o ficheiro functions.php
[sourcecode language=”php”]<?php
function title_lenght($maxchars) {
$title = get_the_title($post->ID);
$title = substr($title,0,$numchars);
echo $title
}
?>[/sourcecode]
Agora, no template do theme onde queres limitar o tamanho dos caracteres procura a função < ? the_title(); ?> e troca-a por:
[sourcecode language=”php”]<?php title_lenght(32); ?>[/sourcecode]
Este código vai limitar o tamanho do titulo a 32 caracteres. Altera o valor para o número que for mais adequado ao teu projecto.
Links úteis:
- http://codex.wordpress.org/Function_Reference/get_the_title
- http://codex.wordpress.org/Function_Reference/get_the_excerpt
- http://codex.wordpress.org/Function_Reference/get_the_content
Via Função para limitar o tamanho dos titulos
Ocorreu o seguinte erro: Parse error: syntax error, unexpected $end in /home/storage/9/09/60/cmspress1/public_html/testewp/wp-content/themes/publiqueideias-child/functions.php on line 34 Porque será?
oque voce tem na linha 34 do seu arquivo functions?
o código está errado, substitua a variavel $numchars pela $maxchars 😉
Cara muito obrigado pelo post, funcionou blz aqui!
De nada volte sempre 🙂
Não funfou aqui não (:
Cara, muito bom o poste, mas tem um erro ai.
1 – ja foi corrigido no comentário acima (substitua a variavel $numchars pela $maxchars)
2 – aqui na minha functions não foi preciso usar a tag ,
tive que tirar para funcionar.
3 – E no final do código, faltou um “;”. Assim: echo $title;
Agora gostaria de saber se é possivel por um … apenas quando a frase tique que ser diminuida, ou seja, se não for preciso diminuir o titulo, não aparece o “…”