Recentemente os colegas do illuminatikarate depararam-se com um problema bastante interessante e que pode, sem dúvida, ser muito útil aos desenvolvedores e interessados em WordPress. Basicamente, quando você pretende fazer uma listagem de comentários no seu WordPress, o excerto dos comentários é um problema complicado de resolver. Normalmente usamos a função comment_excerpt() mas se você necessitar de mais ou menos do que as 20 palavras que estão programadas para esse excerto, então tem um problema nas mãos. No entanto, existe uma função para usar no ficheiro functions.php do seu template WordPress que resolve esse problema.

excerto comentarios

Começando na função get_comment_excerpt() a partir da linha ~407 do wp-includes/comment-template.php pode-se criar uma nova função que lhe permite definir a dimensão do excerto de comentários facilmente. Veja:

function my_get_comment_excerpt($comment_ID = 0, $num_words = 20) {
	$comment = get_comment( $comment_ID );
	$comment_text = strip_tags($comment->comment_content);
	$blah = explode(' ', $comment_text);
	if (count($blah) > $num_words) {
		$k = $num_words;
		$use_dotdotdot = 1;
	} else {
		$k = count($blah);
		$use_dotdotdot = 0;
	}
	$excerpt = '';
	for ($i=0; $i<$k; $i++) {
		$excerpt .= $blah[$i] . ' ';
	}
	$excerpt .= ($use_dotdotdot) ? '...' : '';
	return apply_filters('get_comment_excerpt', $excerpt);
}

Na zona $num_words você pode definir quantas palavras você quer mostrar no excerto desses comentários.

E usando este código PHP, você pode também mostrar uma listagem de comentários no seu template wordpress facilmente:

<ul>
<?php
	$comments = get_comments();
	foreach($comments as $c) :
?>
<li>
	<a href="<?php echo get_permalink($c->comment_post_ID); ?>">
		<?php /* output 10 words of comment */ ?>
		<p><?php echo my_get_comment_excerpt($c->comment_ID, 10); ?></p>
		<span><?php echo $c->comment_author; ?></span>
		<span><?php echo date("m/j/Y",strtotime($c->comment_date)); ?> </span>
	</a>
</li>
<?php
	endforeach;
?>
</ul>

Basta útil para mostrar comentários usando excertos definidos de acordo com as dimensões que você deseja pra não ter informação demais ou a menos, ou para não quebrar seu layout desnecessariamente. Fica a dica.

Até já!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


WooThemes - WordPress themes for everyone

Comentários dos Alunos


  1. Concordo com José você poderia explicar o código!
    Obrigado o seu blog nos ajuda muito.

    Responder


  2. José almy
    24.09.2011

    Paulo

    Muito bom!

    Excelente matéria.

    Responder

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11485

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz