Martin Koksrud Bekkelund

Martin Koksrud Bekkelund

Teknologi • Samfunn • Politikk

Siste kommentarer i WordPress

09.03.06

Jeg får til stadighet henvendelser fra folk som lurer på hvordan jeg lister de siste kommentarene i webloggen min. Koden er relativt enkel, og et lappeteppe av forskjellige kodebiter jeg har funnet på nettet. Det har dessverre ikke lykkes meg i å finne opphavet til alle kodebitene, så jeg beklager herved til de som måtte ha bidratt til denne koden, og som ikke får sin behørige kreditering i koden.

Det forutsettes en viss innsikt i WordPress og hvordan du arbeider med WordPress-temaer for å ha glede av denne posten.

Jeg har ikke laget det som et tillegg (plugin), men som en kodebit du limer inn i filen «sidebar.php» i ditt tema. Finner jeg tid lager jeg en plugin av det en gang i fremtiden.

Koden:

  1. <?php
  2.  
  3. function get_recent_comments($no_comments = 5, $comment_lenth = 5, $before = ‘<li>’, $after = ‘</li>’, $show_pass_post = false, $comment_style = 1) {
  4. global $wpdb, $tablecomments, $tableposts;
  5. $request = "SELECT ID, comment_ID, comment_content, comment_date, comment_author, post_title FROM $tablecomments LEFT JOIN $tableposts ON $tableposts.ID=$tablecomments.comment_post_ID WHERE post_status = ‘publish’ ";
  6. if(!$show_pass_post) $request .= "AND post_password =» ";
  7. $request .= "AND comment_approved = ‘1’ ORDER BY comment_ID DESC LIMIT $no_comments";
  8. $comments = $wpdb->get_results($request);
  9. $output = »;
  10. foreach ($comments as $comment) {
  11. $comment_author = stripslashes($comment->comment_author);
  12. $comment_content = strip_tags($comment->comment_content);
  13. $comment_content = stripslashes($comment_content);
  14. $comment_date = $comment->comment_date;
  15. $words=split(" ",$comment_content);
  16. $comment_excerpt = join(" ",array_slice($words,0,$comment_lenth));
  17. $permalink = get_permalink($comment->ID)."#comment-".$comment->comment_ID;
  18. if ($comment_style == 1) {
  19. $post_title = stripslashes($comment->post_title);
  20. $output .= $before . ‘<span class="blogg_meny_siste_kommentar"><a href="’ . get_permalink($comment->ID) . ‘#comment-‘ . $comment->comment_ID . ‘" title="Les post">’ . $comment_author . ‘ om<br />’ . $post_title .'</a></span>’ . $after;
  21. } else {
  22. $output .= $before . ‘<strong>’ . $comment_author . ‘:</strong> <a href="’ . $permalink;
  23. $output .= ‘" title="View the entire comment by ‘ . $comment_author.’">’ . $comment_excerpt.'</a>’ . $after;
  24. }
  25. }
  26. echo $output;
  27. }
  28.  
  29. ?>
  30.  
  31. <ul>
  32. <?php get_recent_comments(5); ?>
  33. </ul>

Dette kodestykket setter du inn i «sidebar.php» i ditt tema. Det skal fungere uten videre mekking. Har du litt nerdenykker kan du skru på koden selv. Forbedringer kan du jo poste som en kommentar.

Ønsker du å justere antallet kommentarer som vises justerer du det i denne linjen, ved å angi et annet tall:

  1. <ul>
  2. <?php get_recent_comments(5); ?>
  3. </ul>

Jeg anbefaler (for din egen del) at du setter det inn i en <div> og gir det en overskrift. I tillegg finnes det en klasse du kan benytte i stilsettet ditt.

Tilbakemeldinger tas selvfølgelig i mot med stor takk, og kan postes som en kommentar. :-)

Martin skriver regelmessig om hvordan teknologi, samfunn og politikk påvirker hverandre. Dersom du er interessert i å følge med på hva Martin skriver, finnes det flere måter å holde deg oppdatert på. Les mer...

Flere artikler

Enda flere artikler? Besøk arkivet.

Martin Koksrud Bekkelund

Martin Koksrud Bekkelund

Bekkelund.net er Martin Koksrud Bekkelund sitt private nettsted, hvor han skriver om samspillet mellom teknologi, samfunn og politikk. Martin arbeider til daglig som direktør for produkt- og forretningsutvikling i et av Norges største selskaper. Les mer...

Følg Martin

Facebook Twitter Instagram LinkedIn GitHub SlideShare Martin Koksrud Bekkelunds RSS-kanal

Søk

© 1995-2016 Martin Koksrud Bekkelund
OpphavsrettRSS og abonnementKontakt