Lista de posts com resumo com limite de caracteres no WordPress
Postado em 6 de agosto de 2010 por Henderson | Categorias: Posts | Tags: Lista de Posts, Lista de ùltimos posts, Resumo | 1 Comentário » | Comentar
A função the_excerpt() do WordPress retorna o conteúdo do campo Resumo do post ou se o campo resumo estiver vazio retorna um certo número de caracteres do corpo do texto.
Abaixo segue uma função que facilitará que você controle vários limites de caracteres no seu template.
Insira o código abaixo no arquivo functions.php do seu tema:
function excerpt($limit) { $excerpt = explode(' ', get_the_excerpt(), $limit); if (count($excerpt)>=$limit) { array_pop($excerpt); $excerpt = implode(" ",$excerpt).'(...)'; } else { $excerpt = implode(" ",$excerpt); } $excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt); return $excerpt; } ?>
Agora para usar a função no seu tema insira o código abaixo onde você quiser limitar com um número específico de caracteres o resumo do post.
<?php echo excerpt(50); ?>
Abaixo um exemplo prático que pega os 3 últimos posts da categoria novidades colocando o resumo com 30 caracteres:
<?php query_posts('category_name=Novidades&howposts=3&orderby=date'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <div id="box_direita_destaques"> <? echo excerpt(30); ?> </div> <br /><a href="<?php the_permalink(); ?>Leia mais</a><br /> <br /><br /><br /><?php endwhile; endif; ?>
Para limitar a quantidade de caracteres do post que será mostrado na tela use o comando the_content_limit() dentro do loop do WordPress. O número será a quantidade de caracteres do post que será mostrado na tela :
<?php the_content_limit(190); ?>
Limitar quantidade de caracteres no título do post:
<?php $limit = 45; $summary = get_the_title();</pre> if (strlen($summary) > $limit) $summary = substr($summary, 0, strrpos(substr($summary, 0, $limit), ' ')) . '...'; ?>
Eu queria limitar o número de caracteres dos postes do meu site no wordpress, mas não sei onde por o seguinte código:
Código da seção de postagens do meu site:
<?php wp_link_pages('before=’._r(‘Pages:’).’&after=’); ?>
get(‘post-tags’)) : ?>
<?php the_tags('’._r(‘Tags:’).’ ‘, ‘, ‘, ”); ?>
<?php edit_post_link(_r('Edit this entry.'), '’, ”); ?>
get(‘post-footer’)) : ?>
post_date) – (60*120)); echo time_since($entry_datetime); echo ‘ ago’; */ ?>
.
.
comment_status) && (‘open’ == $post->ping_status)) {
// Both Comments and Pings are open ?>
, <a href="” rel=”trackback”>
comment_status) && (‘open’ == $post->ping_status)) {
// Only Pings are Open ?>
<a href=" ” rel=”trackback”>
comment_status) && !(‘open’ == $post->ping_status)) {
// Comments are open, Pings are not ?>
comment_status) && !(‘open’ == $post->ping_status)) {
// Neither Comments, nor Pings are open ?>
get(‘post-comments-form’)) : ?>
displayComments(true, $gantry->get(‘comments-style’), $gantry->get(‘comments-style’)); ?>