WordPress: visualizzare gli ultimi topic di bbPress

venerdì 4 dicembre, 2009

Abbiamo visto come integrate il kernel di WordPress in bbPress, per usare ad esempio qualche funzione WordPress o condividere il tema. Ora vedremo il contraio, cioè come mostrare le informazioni del forum bbPress nella Home Page di WordPress. Per fare questa operazione esistono alcuni Plugin (alcuni funzionanti e altri no). Noi qui vedremo invece come scrivere una – davvero – semplice funzione che, in caso, può essere migliorata e perfezionata per tutti i casi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 * Mostra le ultime discussioni dal forum bbpress
 *
 * @author  =undo=
 * @date  2009-09-11
 *
 * @return
 */
function bbpress_wp_get_last_topics($limit = 10) {
    global $wpdb;
   
    // connessione al database - modificare i parametri con i propri
    // dati di accesso al dabase mysql
    $db_bbpress = new wpdb('bbpress', 'bbpress', 'bbpress', 'localhost');
    $query      = "SELECT * FROM bb_posts JOIN bb_forums ON bb_posts.post_status = '0' AND bb_posts.forum_id = bb_forums.forum_id JOIN bb_topics ON bb_posts.topic_id = bb_topics.topic_id ORDER BY bb_posts.post_time DESC LIMIT 0," . $limit;
    $list_topics= $db_bbpress->get_results( $query );
 
    foreach( $list_topics as $topic) : ?>
        <div class="forum">
        <p><?php echo $topic->topic_last_poster_name ?> - <?php echo date_format( date_create( $topic->post_time ), 'd.m.Y') ?></p>
        <h2><a href="/forum/topic.php?id=<?php echo $topic->topic_id ?>" title="<?php echo $topic->topic_title ?>" ><?php echo $topic->topic_title ?></a></h2>
        <p><?php echo word_cut_for_chars( strip_tags( $topic->post_text, '<b><strong><i><u>'), 100) ?></p>
        </div>
    <?php endforeach;
}

Alcune note:

  • Nell’esempio si evince che il database di bbPress è “esterno”, cioè non è possibile utilizzare la stessa connessione messa già a disposizione dal core di WordPress. Tuttavia bbPress può essere installato anche sullo stesso database di WordPress. Così facendo non è necessaria la connessione ma è possibile utilizzare direttamente l’oggetto (globale) $wpdb
  • Il link "/forum/..." si riferisce alla vostra path di installazione: normalmente www.dominio.com/forum
  • La funzione word_cut_for_chars() taglia una stringa contando i caratteri; trovate il sorgente in Very short snippet: PHP, tagliare a parole, contando i caratteri

Post correlati

Questo articolo ti è stato utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Loading ...

Un commento a: “WordPress: visualizzare gli ultimi topic di bbPress”

  1. 07 giu, 2010 Marco:

    Se io volessi fare il contrario come potrei fare? cioè vorrei che OGNI post vecchio e nuovo di WP avesse un duplicato su BB e viceversa.
    Nel caso del mio blog è abbastanza importante che le ultime uscite siano in una homepage chiara e comprensibile ma che siano poi anche rintracciabili nel forum così da invogliare alla discussione (tipo cineforum per intenderci).
    Grazie mille per il tempo che ti ho rubato!
    Premetto che sono abbastanza ignorante in materia di PHP ecc ma un copia/incolla mi riesce benissimo!

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre>                                  // blocco generico
<code></code>                                // blocco generico
[cc_actionscript][/cc_actionscript]          // Actionscript
[cc_actionscript3][/cc_actionscript3]        // Actionscript 3
[cc_css][/cc_css]                            // CSS Style Sheet
[cc_html][/cc_html]                          // HTML
[cc_js][/cc_js]                              // Javascript
[cc_objc][/cc_objc]                          // Objective-C
[cc_php][/cc_objc]                           // PHP
[cc_sql][/cc_sql]                            // SQL