Parliamo, visto che l’ho installato, della best practice per creare un forum per un sito wordpress. In particolare il mio interesse ora è quello di prendere un nuovo sito statico, trasportarlo in wordpress, aggiungere un forum integrato e aggiungere funzionalità in più (es utente invia la tua immagine, che si carica su un custom post type che lo tiene come allegato ed ha delle metriche di ricerca e spiegazione sui custom fields, una pagina per elencare le foto, una per inserirle ecc.)
Come fare per andare veloci e non incappare in casini?
Io di solito lavoro direttamente online (visto che ho varie postazioni non mi va di far casini e tenere tante begole di qua e la da aggiornare es in svn o entrare in vpn per collegarmi al db) .. tutto è più semplice!
Basta schiaffare un bel /wp/* e un bel /forum/* nella root del dominio, tramite un bellissimo htaccess impedire l’accesso a tutti tranne che a noi : io da ip statico faccio semplicemente cosi altrimenti basta mettere una password.
AuthName “working on it”
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from “il mio ip”
</Limit>
Poi facciamo le modifiche che dobbiamo, cerchiamo inizialmente di lavorare con il template di wp, finirlo, poi prendere il classico div wrapper e schiaffarci dentro tutto quello che è di phpbb.
Solitamente basta far copia incolla di un file nella cartella /forum/styles, dare un proprio nome, cambiare il nome dai 3 config che si trovano uno per cartella + sottocartelle, toccare overallheader.php per integrare i 2 fogli di stile (non è elegante, ma in 5 minuti si fa tutto e funziona bene.. chissenefrega :)).
La mod seo è meglio installarla da subito, durante la prima installazione, idem la lingua.
La seo c’è da dire non serve a niente per molti, ma un giorno se vorrete migliorare (e tutti ci capitano prima o poi) dovrete installarla per forza.. quindi tanto vale farlo ora ed evitare poi di dover lavorare anche con i redirect. Serve prudenza perchè non basta l’url rewrite (anzi siete pazzi se usate solo quella), serve un intero set di regole a partire dall’evitare di produrre contenuti duplicati o insignificativi.
In wordpress poi ci viene in contro un plugin chiamato phpbb single sign on, che permette di tenere uniti i login di phpbb e di wp (con non pochi problemi, io ci ho perso un bel po’ di tempo per configurarlo e non riesce ad unire le sessioni necessitando di doppia autenticazione… ma con il medesimo login)
Finiti tutti i lavori che appartengono al porting dei contenuti del sito statico, basterà inserire un index.php nella root:
<?php
/**
* Front to the WordPress application. This file doesn’t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define(‘WP_USE_THEMES’, true);
/** Loads the WordPress Environment and Template */
require(‘./wp/wp-blog-header.php’);
?>
Inserire poi i redirect delle vecchie url alle nuove, togliere il blocco dall’htaccess, inserire nelle impostazioni che l’indirizzo del blog invece di “sito.it/wp/” è “sito.it” ed il gioco è fatto.
In realtà la sto riassumento in 5 minuti, ma serve un botto di tempo 🙂
In ogni caso i passi sono:
- Upload ed installazione di wp nella cartella /wp/
- Upload ed installazione di phpbb3 nella cartella /forum/ con lo stesso db usato per wp, con già la lingua e la mod seo
- htaccess per impedire accesso
- setup template wp (anche un uso banale di uno gratuito, basta completare la grafica e la navigazione come dovrebbe essere in finale)
- copia incolla template (nel senso di style in phpbb) di phpbb, cambio nome (cartella + file .conf presenti nelle cartelle e sottocartelle)
- valutare la sorgente html della pagina base di wordpress, eliminare tutto ciò che sta in un div che funge da wrapper e inserire il body del file phpbb (nella pratica eliminare tutto quello che sta dentro il div spesso chiamato “content” nel template wordpress e inserirci dentro tutto quello che nel file overall_header.php parte da <div id=”page-header”>.. ovviamente inserire i riferimenti ai css e quelli necessari al funzionamento. Salvare tutto nel nuovo file overall_header)
- installare e configurare plugin wp phpbb single sign on
- testare tutto che funzioni separatamente
- finito il tutto inserire la pagina index.php descritta prima nella root, cambiare le impostazioni di wp e si avrà un otitma integrazione
- mettere redirect 301 necessarie da probabili ex pagine
- togliere filtro per ip
- finito.. casini a parte 🙂