content top

Como apresentar artigos relacionados no seu blog sem recorrer a um plugin?

  • GREPTEM - Business & Portfolio Wordpress Theme
  • Implicit - Business, Blog and Portfolio WP Theme
  • Creation - Minimalist Business WordPress Theme
  • Elegance - Simple and Elegant WordPress Theme
  • Meezio - An Horizontal & Vertical Wordpress Theme
  • Wave: A Video Centric Theme for WordPress

Como provavelmente saberá, os plugins regra geral têm tendência para tornar o seu blog mais lento, uma vez que fazem uso de tabelas na base de dados. Quanto mais plugins instalados, mais pesada fica a navegação do seu blog. Hoje apresentamos-lhe uma forma de criar um shortcode no seu blog Wordpress, para puxar os artigos relacionados sem recorrer a um plugin e tornando o seu blog mais rápido a executar a função.

Para criar o shortcode, simplesmente abra o ficheiro functions.php do seu template e copie para lá o seguinte código. Se não tiver esse ficheiro no seu template, crie um com o código:

function related_posts_shortcode( $atts ) {
 extract(shortcode_atts(array(
     ‘limit’ => ‘5′,
 ), $atts));

 global $wpdb, $post, $table_prefix;

 if ($post->ID) {
  $retval = ‘<ul>’;
   // Get tags
  $tags = wp_get_post_tags($post->ID);
  $tagsarray = array();
  foreach ($tags as $tag) {
   $tagsarray[] = $tag->term_id;
  }
  $tagslist = implode(‘,’, $tagsarray);

  // Do the query
  $q = “SELECT p.*, count(tr.object_id) as count
   FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy =’post_tag’ AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id  = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID
    AND p.post_status = ‘publish’
    AND p.post_date_gmt < NOW()
    GROUP BY tr.object_id
   ORDER BY count DESC, p.post_date_gmt DESC
   LIMIT $limit;”;

  $related = $wpdb->get_results($q);
   if ( $related ) {
   foreach($related as $r) {
    $retval .= ‘
 <li><a title=”‘.wptexturize($r->post_title).’” href=”‘.get_permalink($r->ID).’”>’.wptexturize($r->post_title).’</a></li>
‘;
   }
  } else {
   $retval .= ‘
 <li>Nenhum artigo relacionado encontrado</li>
‘;
  }
  $retval .= ‘</ul>
‘;
  return $retval;
 }
 return;
}
add_shortcode(‘related_posts’, ‘related_posts_shortcode’);

Depois disso, para chamar o referido código, simplesmente coloque o código [related_posts] onde bem desejar que os artigos relacionados apareçam!

Bons truques! Até Já!

Blog Widget by LinkWithin
Partilhe este artigo:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Rec6
  • Reddit
  • StumbleUpon
  • Technorati
  • Yahoo! Buzz



9 Comentarios a “Como apresentar artigos relacionados no seu blog sem recorrer a um plugin?”

  1. Novo truque para Wordpress: http://bit.ly/XqdLC

  2. brunonassar says:

    RT: @fiquerico: Novo truque para Wordpress: http://bit.ly/XqdLC

  3. Hugo says:

    está mt bom!!

  4. [...] Paulo Faustino do blog wordpress-love.com explica como apresentar artigos relacionados nos nossos blogs sem recorrer a [...]

  5. Cara, tá dando um erro naesa parte do código aqui:

    $retval = ‘’;

    Ele não deixa passar essa parte e trava o site todo… Como resolve isso??

  6. No seu código, é a linha 9…

  7. luis says:

    Poxa nao consigo esta dando erro aqui.

  8. Jocas says:

    Boas…
    Estou com o mesmo problema dos anteriores, o código dá erro…
    Tens a certeza que não é necessário colocar mais informação como um <? ou <div ou até mesmo um <php…
    Boas..

  9. Anonymous says:

    [...] Como apresentar artigos relacionados no seu blog sem recorrer a um plugin [...]

Deixar resposta

|