Legújabb hozzászólások listázása WordPress-ben

2013-12-14

Az alábbi függvényt sablonunk functions.php állományába írjuk. A függvény két paraméterrel hívható, az első a hozzászólások száma, a második pedig azt adja meg, hogy hány karakternél vágja le az egyes hozzászólások szövegét. Ha paraméterek nélkül hívjuk meg, akkor az alapértelmezett értékekkel jelenik meg: 10 hozzászólás 150 karakternél levágva.

Példa a függvény paraméterek nélküli hívására:


legujabb_hozzaszolasok();

20 hozzászólás 150 karakternél levágva:


legujabb_hozzaszolasok(20);

40 hozzászólás 300 karakternél levágva:


legujabb_hozzaszolasok(40,300);

Ha olyan függvényt írunk amiben adatbázis műveletek is szerepelnek, deklarálnunk kell a $wpdb objektumot. Ez egy globális objektum a WordPress-ben ami adatbázis műveletek végrehajtására szolgál.


function legujabb_hozzaszolasok($hozzaszolasok_szama=10, $hozzaszolasok_hossza=150) {
    global $wpdb;
    $query = "
            SELECT
                DISTINCT ID,
                post_title,
                comment_ID,
                comment_post_ID,
                comment_author,
                comment_date_gmt,
                comment_approved,
                SUBSTRING(comment_content,1,$hozzaszolasok_hossza) AS hozzaszolas_szoveg
            FROM $wpdb->comments
            LEFT JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)
            WHERE comment_approved = '1'
            ORDER BY comment_date_gmt DESC
            LIMIT $hozzaszolasok_szama";
    $comments = $wpdb->get_results($query);
    foreach ($comments as $comment) {
        $output .= "
            
Cím: ID)."\" title=\"". $comment->post_title . "\">".$comment->post_title." Szöveg: ".strip_tags($comment->hozzaszolas_szoveg)."... Dátum: ".$comment->comment_date_gmt." Hozzászóló neve: ".$comment->comment_author."
"; } echo $output; }