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.

PHP:
  1. /**
  2.  * Mostra le ultime discussioni dal forum bbpress
  3.  *
  4.  * @author  =undo=
  5.  * @date    2009-09-11
  6.  *
  7.  * @return
  8.  */
  9. function bbpress_wp_get_last_topics($limit = 10) {
  10.     global $wpdb;
  11.    
  12.     // connessione al database - modificare i parametri con i propri
  13.     // dati di accesso al dabase mysql
  14.     $db_bbpress = new wpdb('bbpress', 'bbpress', 'bbpress', 'localhost');
  15.     $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;
  16.     $list_topics= $db_bbpress->get_results( $query );
  17.  
  18.     foreach( $list_topics as $topic) : ?>
  19.         <div class="forum">
  20.         <p><?php echo $topic->topic_last_poster_name ?> - <?php echo date_format( date_create( $topic->post_time ), 'd.m.Y') ?></p>
  21.         <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>
  22.         <p><?php echo word_cut_for_chars( strip_tags( $topic->post_text, '<b><strong><i><u>'), 100) ?></p>
  23.         </div>
  24.     <?php endforeach;
  25. }

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

Non ci sono commenti per questo Post

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
[as][/as]           // Actionscript
[css][/css]         // CSS Style Sheet
[html][/html]       // HTML
[js][/js]           // Javascript
[objc][/objc]       // Objective-C
[php][/php]         // PHP
[sql][/sql]         // SQL