Siste kommentarer i WordPress

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. :-)

11 kommentarer til «Siste kommentarer i WordPress»

  1. Desverre bliver det rare sitat-tegn hvis man klipper og limer dette. Ta en titt på Preserve Code Formatting, en plugin som gjør at code forblir code (men du må nok fikse litt selv med den for å få linjenummer).

    Takk for god kode ellers :-D

    Dette er en kommentar

  2. Jeg får det ikke til å funke. hele høyresiden bare forsvinner etter jeg har satt den inn… hmm..

    Dette er en kommentar

  3. Koden skal være kompatibel med alle WordPress-versjoner fra og med 1.5. Jeg har riktignok ikke finlest den etter å ha kopiert den fra temaet mitt, men den skal være dønn lik.

    Akkurat nå har jeg ikke tilgang til originalkoden, men jeg skal prøve å få lagt ut en tekstfil for nedlasting i løpet av helgen.

    Dette er en kommentar

  4. Det skyldes at WordPress er så lur at den erstatter alle ' med ‘ el ’… (det gjenstår å se hvis jeg klarer å lure WordPress å få med rett tegn i kommentaren min…)

    Dette er en kommentar

  5. Bra jobbet, men vil også på det varmeste anbefale følgende plugin:
    http://blog.jodies.de/archiv/2004/11/13/recent-comments/

    “Recent Comments” fungerer ypperlig for å vise de siste kommentarene i WP.

    Dette er en kommentar

  6. Har som du sikkert vet Martin ikke fått din til å fungere, men sannelig så fungerte recent-comments hos meg. Så takk til eirikso for tipset der!

    Dette er en kommentar

  7. For de som eventuelt måtte ha problemer med klipp-og-lim har jeg publisert koden som en tekstfil.

    Dette er en kommentar

  8. Om du har en annen “get_recent_comments”-plugin aktivert når du prøver å bruke denne funksjonen, vil hele høyresiden forsvinne.

    Dette er en kommentar

  9. Ole Martin skrev:

    Om du har en annen “get_recent_comments”-plugin aktivert når du prøver å bruke denne funksjonen, vil hele høyresiden forsvinne.

    Det er klart. get_recent_comments er navnet på funksjonen, og må være unikt.

    Dette er en kommentar

  10. Bare tenkte det var svaret på olem sitt problem lenger oppe. :) Men han har nok funnet ut av det til denne tid.

    Dette er en kommentar

  11. Fare for det, ja. :-)

    Dette er en kommentar

Ett trackback / pingback til «Siste kommentarer i WordPress»

Legg igjen en kommentar

Før du poster en kommentar må du være kjent med retningslinjene for kommentarposting, samt personvernpolitikken for bekkelund.net.

Felter merket med * må fylles ut. Din e-postadresse vil ikke være synlig.

Formatering med XHTML: Du kan bruke disse elementene til formatering: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> . Tekstbaserte uttrykksikoner konverteres automatisk til bilder. Hjelp til formatering.

Martin Bekkelund er fornøyd bruker av WordPress med hjemmelaget tema.
Du kan abonnere på både artikler som Atom, RSS 2.0 eller RSS 0.92, samt kommentarer som RSS 2.0.
Denne artikkelen ble til ved hjelp av 13 kopper espresso konsumert på 0.553 minutter.

Informasjon om opphavsrett og lisensiering 1995 - 2008 Martin Bekkelund
xhtml
css
rss
cc
508
aaa
v6.09