Komentarze Trackback odsłon: 6 591

Ostatnie komentarze na blogu

Na pewno nie raz się głowiłeś jak dodać do “sidebar” lub do każdej podstrony listę ostatnich komentarzy dodanych i zatwierdzonych przez Administratora. Wcześniej istniały do tego wtyczki. Teraz wystarczy odpowiedni kod.

Oczywiście wtyczki dalej istnieją, ale dla bardziej rozbudowanych możliwości. Ale dla podstawowych wystarczy tylko skopiować specjalny kod php.

My zrobimy to według schematu widocznego na powyższym rysunku czyli bez dodatkowych wtyczek.

<?php
global $wpdb;

$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);

$output = $pre_HTML;
$output .= "\n<ul>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
.": " . "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"on " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a></li>";

}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;?>

Jasną rzeczą jest chyba że można ustawić odpowiednio ilość takicj komentarzy ma się pojawiać. Od tego jest opcja:

--== to jest fragment kodu ==--
ORDER BY comment_date_gmt DESC
LIMIT 10";

Wystarczy “LIMIT 10″ zamienić na np. 30 :) Automatycznie pojawi się nam 30 komentarzy w miejscu gdzie wstawiliśmy kod.

--== to jest fragment kodu ==--
$output .= "\n<li>".strip_tags($comment->comment_author)
.": " . "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"on " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a></li>";

Możemy także poedytowac jak ma wyglądać link, czy ma byc spacja czy coś innego. To wszystko można zmienić w powyższym fragmencie. Jeśli macie pytania – zapraszam do komentowania.

komentarze: 12

  1. » Losowe posty - prosto i bez wtyczek » NaszeWP | Wielki zbiór porad dla Wordpress-a

    [...] podobnie jak w ostatnich komentarzach zaznaczyć ile takich losowych postów ma się pojawiać na Twojej stronie. Wystarczy tylko w [...]

  2. Mariusz

    Witam, dziękuję za tę “lekcję”.

    Mam jedno pytanie: jak w “wycinkach” komentarzy regulować liczbę wyświetlanych znaków? Mam podobny Sidebar, ale automatycznie zapełniana jest tylko połowa dostępnego miejsca.

    pozdrowienia!

  3. Mariusz

    PS. Gdyby udało się udostępnić także kod do zakładki “Najpopularniejsze”, byłbym niezmiernie wdzięczny :-)
    Mam wordpressowy silnik na własnym serwerze i nie mam pojęcia, jak dołożyć taką zakładkę (to znaczy jak dołożyć dodatkową zakładkę wiem, ale co zrobić, aby działała…).

  4. Marco

    Proponowany kod jest żywcem skopiowany z zachodnich tutoriali, problem z nim jest taki, że ucina tekst po określonej liczbie LITER, co nie zawsze wygląda fajnie.

    Odpowiada za to linia nr 7:

    SUBSTRING(comment_content,1,30) AS com_excerpt

    Moja modyfikacja polega na tym, że treść komentarza jest ucinana po określonej liczbie SŁÓW, czyli kod wykrywa spacje w treści.
    Wystarczy powyższą linię zamienić na:

    SUBSTRING_INDEX(comment_content,’ ‘,5) AS com_excerpt

    Cyfra 5 określa po ilu słowach (spacjach) tekst ma zostać obcięty.

    W kodzie formatującym komentarz proponuję w miejsce:

    .”“;

    wstawić:

    .”…“;

    czyli trzy kropeczki przed zamknięciem tagu A – sugeruje to dłuższą treść i ładniej wygląda.

  5. Marco

    PS> Twój WP modyfikuje treść komentarzy – teraz kod wymaga poprawki ręcznej… Apostrofów w i nie tylko. Pozdro.

  6. Marco


    SUBSTRING(comment_content,1,30) AS com_excerpt

    na


    SUBSTRING_INDEX(comment_content,' ',5) AS com_excerpt

    oraz


    ."";

    na


    ."...";

  7. Marco

    suchar… :(

  8. Janusz Litwin

    mariusz -> najpopularniejsze zależa do wtyczki WP-PostViews – znajduje się pod adresem http://lesterchan.net/wordpress/readme/wp-postviews.html jesli nie bedziesz wiedzil co i jak napisz e-maila opisze dokładnie wszytsko

  9. Janusz Litwin

    Marco -> to jest normalne ze ucina litery.. trudno aby byl komentarz na kilkadziesiat milionow liter zeby zawalic stronę.
    Skopiowany hmmm – jesli tak uwazasz..

  10. Akwarium

    Jak dla mnie te kody to czarna magia. Nic z nich nie rozumiem, w ogóle gdzie mam to wkleić?

  11. Janusz Litwin

    w schamet swojej skórki wordpresa

  12. zegarki

    Mam coś problem z wordpressem wp. Nikt nie może dodać komentarza.
    Pozdrawiam

Napisz komentarz: