WordPress Multisito: modificare URL del sito

wp-multisito
 
Hai creato una rete di siti usando WordPress Multisite e hai installato WordPress all’interno della cartella ‘wordpress’ e non nella directory principale (che di solito negli hosting condivisi è ‘public_html’).

 

Quindi il tuo sito principale ha come url http://www.miodominio.it/wordpress
e i sottositi della rete hanno come url qualcosa del tipo http://www.miodominio.it/wordpress/sottosito1 .

 

Adesso vuoi rimuovere ‘wordpress’ dall’url, in modo che il tuo sito sia visualizzabile all’url http://www.miodominio.it e i sottositi agli url del tipo http://www.miodominio.it/sottosito1

 

Tutti i file di wordpress, però, devono rimanere nella cartella ‘wordpress’ e continuerai ad accedere al backend di amministrazione da http://www.miodominio.it/wordpress/wp-login.php.

 

Per la versione classica di WordPress puoi ottenerlo facilmente. Leggi QUI.

 

Per la versione multisito, invece,  devi fare alcune modifiche al database (usando phpMyAdmin, se ne hai accesso) e alcune modifiche a certi file.

 

Iniziamo dal DATABASE. Devi modificare le righe di alcune tabelle:

  • TABELLA wp_site
    localhost    /wordpress/   CAMBIA –>   /
  • TABELLA wp_blogs
    localhost    /wordpress/   CAMBIA –>   /
    localhost    /wordpress/sottosito1/   CAMBIA –>   /sottosito1/

 

Fai attenzione perché WordPress ha regole diverse per campi differenti:

  • le tabelle wp_site e wp_blogs NON devono avere http:// all’inizio né / (slash) alla fine
  • la tabella wp_options DEVE avere solo http:// all’inizio

 

Adesso passiamo ai FILE.
 
Devi modificare una riga del file wp-config.php (che si trova all’interno della cartella ‘wordpress’).

define('PATH_CURRENT_SITE', '/wordpress/');    CAMBIA -->    '/'

 

Poi devi copiare (NON spostare) il file index.php (che si trova sempre dentro la cartella ‘wordpress’) nella cartella principale (public_html, per intenderci) e devi modificarlo aggiungendo “wordpress” prima di “/wp-blog-header.php”. In questo modo:

require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );

 

Infine, devi creare un file .htaccess che contenga queste regole e metterlo sempre nella cartella principale (public_html)

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) wordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wordpress/$2 [L]
RewriteRule . index.php [L]

 

Bene, è fatta. Ovviamente non devo dirti (ma te lo sto dicendo) che la cartella ‘wordpress’ in cui avevi installato WordPress e in cui continuano a risiedere i core file di WordPress può avere qualsiasi nome.
 
Quindi se hai installato in http://www.miodominio.it/prova devi sostituire ‘prova’ a ‘wordpress’ nella spiegazione sopra.

 

WordPress, WPML e sottodomini

wpml-1
Se hai scelto di utilizzare il plugin WPML per creare un sito multilingue con WordPress, puoi decidere in che modo impostare gli URL per ogni lingua.
Dal menu WPML – Lingue – Formato degli URL per le lingue puoi scegliere come stabilire in quale lingua i visitatori consultano i contenuti. Hai 3 possibilità:

Se scegli Un dominio diverso per ogni lingua puoi anche creare un sottodominio (o dominio di terzo livello) per ogni lingua. Cioè un URL del tipo en.iltuodominio.it per la lingua inglese, ad esempio.
 
Prima di impostare quell’opzione dal plugin WPML, devi creare il sottodominio. Lo fai dal pannello di controllo del maintainer che ti fornisce l’hosting per il tuo sito.
 
Ti spiego come fare se hai dominio e hosting con Netsons.
Accedi al cPanel e nella sezione Domini crei il sottodominio: en.iltuodominio.it
Devi poi specificare qual è la root directory, cioè la cartella che conterrà le pagine in inglese del tuo sito. E’ fondamentale che la cartella sia la stessa in cui hai installato WordPress, che di solito è public_html.
 
Solo in questo modo, quando imposterai il plugin WPML e metterai la spunta su Valida al salvataggio i dati saranno validati e salvati.

 

WordPress: homepage statica e dinamica

 
Vuoi che la homepage del tuo sito WordPress abbia una parte statica (testuale o quello che preferisci) e subito dopo un elenco dei post più recenti (quindi una parte dinamica)? Bene.
 
Crea innanzitutto una pagina statica (che chiamerai Home o come vuoi tu) e impostala come homepage da: Impostazioni – Lettura
Visualizzazione pagina iniziale: Una pagina statica
Pagina iniziale: Home (o il nome che hai scelto).
 
Il contenuto di questa pagina sarà la parte statica della homepage (o frontpage) del tuo sito in WordPress.
 
Poi crea una nuova categoria da Articoli – Categorie. Assegnerai questa categoria a tutti i post che vuoi che compaiano nella homepage.
Potresti chiamarla  “news” ad esempio.
 
Ogni volta che inserisci un nuovo post che vuoi far apparire nella homepage devi dunque assegnargli la categoria “news”.
 
E’ quasi fatta. Ora devi solo installare il plugin List category posts
 
e inserire nella pagina Home, alla fine del testo, questa riga:
 
[ catlist name=news numberposts=-1 date=yes content=yes orderby=date ]
 
(non lasciare spazi prima e dopo le parentesi quadre)
 
Verrà mostrato un elenco di tutti (“tutti” perchè numberpost=-1) i post appartenenti alla categoria “news” (name=news).
I post mostreranno data (date=yes) e tutto il contenuto (content=yes) e saranno ordinati per data (orderby=date).
 
Ovviamente ci sono molti altri parametri che puoi impostare per il plugin.

 

Popup di testo con WordPress e Fancybox

 
Usi WordPress e vuoi che, cliccando su un link testuale, si apra una finestra popup che contiene testo.
 
Puoi ottenere questo effetto con uno dei tanti plugin basati sulla libreria jQuery. Sto parlando di Lightbox, Colorbox, Fancybox, Thickbox e altri simili (dai un’occhiata alle caratteristiche e differenze se non li conosci).

Di sicuro ti sarà capitato di vedere questo effetto per le immagini (prova a cliccare sull’immagine qui sotto):

Ecco, puoi fare la stessa cosa con il testo al posto dell’immagine. Il procedimento è simile per tutti i plugin (anche se in realtà alcuni funzionano solo con le immagini).
Ti spiego come si fa con Fancybox, ad esempio. Per usarlo in WordPress devi innanzitutto scaricare il plugin specifico FancyBox for WordPress.
 
Quello che puoi ottenere lo vedi sul sito di Fancybox, alla fine della pagina, nella sezione Various example:
Inline – auto detect width / height
 
Si tratta di inserire dell’inline content.
Il testo che vuoi che appaia nella finestra popup deve essere già presente nella pagina, ma invisibile. E poi deve essere associato ad un identificatore. Puoi fare tutto con un div:

<div style="display:none" id="prova1">Questo è il testo
che apparirà nella finestra popup con effetto fancybox.
Puoi vederlo solo all'interno del popup
perché nella pagina è presente, ma invisibile.</div>

Adesso richiami quel div associandolo a un link di testo e specificando che dovrà aprirsi con fancybox:

<a class="fancybox" href="#prova1">Cliccando qui si aprirà
la finestra popup con effetto fancybox che contiene il testo</a>

E’ tutto.
 
Fancybox funziona con testo, immagini, video e altri tipi di contenuti. Sul sito trovi tutti gli esempi.

 

ePub e Mobi su WordPress

 
WordPress permette di caricare solo alcuni tipi di file e attualmente non consente l’upload di file  .epub o .mobi.
 
Quindi se vuoi caricare un ebook sul tuo sito (senza impacchettarlo in un archivio .zip ) e lasciare che gli utenti lo scarichino immediatamente non puoi.
 
Ma Ed Schipul ti dà la soluzione al problema. L’articolo è in inglese e qui te lo riassumo in italiano.
 
Per prima cosa devi cambiare la dimensione massima dei file che WordPress ti permette di caricare.
 
Poi devi fare in modo che WordPress “riconosca” i file di tipo .epub e .mobi.
Il tema WordPress che stai usando (qualsiasi tema) dovrebbe includere il file functions.php. Devi aggiungere alla fine del file la seguente funzione:

 

function addUploadMimes($mimes) {
 $mimes = array_merge($mimes, array(
 'epub|mobi' => 'application/octet-stream'
 ));
 return $mimes;
 }
 add_filter('upload_mimes', 'addUploadMimes');

 

E’ quasi fatta!
 
Windows gestisce bene i file .epub ma il Mac no. Cliccando su un file epub (da un browser su un Mac) vedresti il codice binario del file.
Per risolvere quet’ultimo problema devi modificare il file .htaccess del tuo WordPress.
Innanzitutto salva una copia di backup dell’originale. Poi scaricalo (tramite FTP) e modificalo. Probabilmente dovrai farlo da Terminale se non riesci a vederlo nella cartella in cui lo hai scaricato (.htaccess è -di default- un file nascosto).
 
Devi aggiungere queste due righe al file .htaccess e poi ricaricarlo sul tuo server (sempre tramite FTP):

AddType application/epub+zip .epub
AddType application/x-mobipocket-ebook .mobi

 
E’ tutto. D’ora in poi potrai caricare i tuoi ebook in formato .epub o .mobi sul tuo sito o blog fatto con WordPress.

 

WordPress e Netsons

Hai intenzione di creare un sito o un blog? Puoi farlo usando Netsons per registrare il tuo dominio e WordPress per gestire i contenuti.

Attualmente Netsons offre un servizio di hosting base a 15 euro l’anno (IVA esclusa) che comprende tutti i servizi necessari (PHP, MySQL) per installare WordPress.

NETSONS

Registra il tuo dominio su Netsons, paga tramite PayPal o bonifico bancario e dopo alcune ore il dominio sarà attivo. Tramite mail ti arriveranno tutte le info di cui hai bisogno per gestire il dominio.
Poi si fa tutto tramite il cosiddetto cPanel. Da lì devi innanzitutto creare un database MySQL inserendo:

  • nome DB, utente DB, password DB (prendi nota di questi dati)

e assegnando all’utente tutti i privilegi (nel passo successivo).

WORDPRESS

Scarica l‘ultima versione di WordPress ed estrai il contenuto in una cartella. Modifica il file wp-config-sample.php inserendo nome del DB, nome utente e password (che hai annotato prima) in questi campi:

  • define(‘DB_NAME’, ‘database_name_here’);
  • define(‘DB_USER’, ‘username_here’);
  • define(‘DB_PASSWORD’, ‘password_here’);

Infine inserisci mysql.netsons.com al posto di localhost nel campo

  • define(‘DB_HOST’, ‘localhost’);

Rinomina il file in wp-config.php.

TRASFERIMENTO ONLINE

Ora devi trasferire tutto online, tramite FTP. Puoi usare FileZilla.
I dati per la connessione FTP ti saranno arrivati tramite mail. Copia tutti i file e le cartelle direttamente dentro la cartella public_html sul server.

Alla prima apertura del sito, WordPress ti chiederà alcune informazioni iniziali, dopodichè potrai iniziare ad usarlo.