Per integrare su WordPress, gli ultimi topic e messaggi inviati sul nostro forum phpbb, dobbiamo inserire nella parte dove ci interessa visualizzarli (header, footer, sidebar…) il seguente codice:
$dbhost = 'localhost';
$dbname = 'nomedeldatabase';
$dbuser = 'username';
$dbpass = 'password';
?>
mysql_connect($dbhost,$dbuser,$dbpass)or die("non riesco a connettermi al database");
mysql_select_db($dbname)or die("non riesco a selezionare il database");
$sql = "SELECT topic_title,topic_time,topic_id FROM phpbb_topics ORDER BY topic_id DESC LIMIT 0, 10";
$dati=mysql_query($sql);
while ($fetchM=mysql_fetch_row($dati))
{
$date=getdate($fetchM[1]);
$data=$date['mday']."/".$date['mon']."/".$date['year']." alle ".$date['hours'].":".$date['minutes'];
$forum.="".ucfirst(strtolower($fetchM[0]))."
";
}
echo $forum;
(Inserisci all’apertura e alla chiusura dello script <? ?> )
Nel primo pezzetto di codice devi inserire i tuoi dati: localhost (nella maggiorparte dei casi è localhost), il nome del database, l’username e la password con i quali ti connetti al database.
Per definire il numero degli ultimi topic da visualizzare, dobbiamo modificare il seguente parametro:
ORDER BY topic_id DESC LIMIT 0, 10";
In questo caso saranno 10 i topic da visualizzare, modifica questo numero in base alle tue preferenze.
Ora verifica se il percorso del tuo forum è corretto:
$forum.="phpbb/viewtopic.php?t=".$fetchM[2]."\" target=\"blank\">".ucfirst(strtolower($fetchM[0]))."
";
Al posto di phpbb metti il nome della cartella in cui è installato il tuo phpbb (es. /forum/), mentre se il tuo forum si trova nella root principale, quel pezzetto sarà così:
$forum.="".ucfirst(strtolower($fetchM[0]))."
";
Con questo codice avrai una semplice lista degli ultimi 10 topic.
Se invece vuoi visualizzare sia il titolo del topic che la data e l’orario in cui è stato inviato (tutto dentro ad una tabella) inserisci il seguente codice apportando allo stesso modo le modifiche di prima:
$dbhost = 'localhost';
$dbname = 'nomedatabse';
$dbuser = 'username';
$dbpass = 'password';
?>
".ucfirst(strtolower($fetchM[0]))." | $data |
Ho provato questo codice su WordPress, per cui è funzionante, però l’unico problema che ho incontrato è stato che inserendo questo script mi si cancellano tutti i vari codici come “Ultimi commenti”, “Ultimi articoli” e cose del genere.
Purtroppo sembra che WordPress non supporti un’altra connessione al database, per cui dobbiamo trovare un modo di includere questo codice senza dar fastidio al resto del codice di WordPress.
Il metodo che ho utilizzato è un po’ grezzo, ma nel frattempo che io trovi una soluzione, continuerò ad utilizzarlo.
In pratica il “mio metodo” consiste nel creare un file con estensione .php (es. topic.php) ed inserirvi tutto lo script. Carico il file sul mio spazio web e vado a modificare il template di WordPress.
Ad esempio io ho utilizzato questo script nell’header (header.php) includendolo attraverso un iframe
:
Ok, il gioco è fatto!
ciao e se io volessi vedere gli ultimi topic di una solo categoria come dovrei fare…
ah e questo codice
dove lo devo mettere?
un altra cosa ma i topic che si vedono in word press si vedono come articoli e restano in archivio ho scompaiono?
Ciao. Penso che potresti utilizzare un join, quindi unire i dati della tabella dei topic con quella dove sono salvate le categorie (dovrebbe chiamarsi “phpbb_categorie”).
Quindi nella variabile $sql dovresti scrivere la regola in cui vai ad estrapolare tutti i topic che però sono presenti solo nella categoria x.
Questo codice, come ho scritto nell’articolo, puoi metterlo in varie parti del template di WordPress, ad esempio nella sidebar.
Quando inserisci questo codice, vedrai solamente la lista degli ultimi topic del tuo forum phpbb, i titoli dei topic linkeranno appunto i topic, quindi i topic non sono vissti come articoli, ma vedrai solamente la lista degli ultimi topic.
a me non funziona ed ho fatto tutto correttamente…