WordPress: aggiornare il database da riga di comando

wordpress aggiornamento database

L’aggiornamento automatico di WordPress funziona alla grande nel 90% dei casi (ok, forse nell’80%…), ma una volta aggiornati i file (tutto sommato la parte più semplice della procedura di upgrade a una nuova versione) può venir richiesto un upgrade del database la prima volta che ci si collega alla schermata di login alla dashboard.

Accedendo a wp-login.php o wp-admin si viene reindirizzati alla URL “http://nomedominio/wp-admin/upgrade.php”, cioè lo script php di upgrade del database. E qui arrivano i dolori se il database da aggiornare non si limita a pochi MB ma arriva a pesare qualche GB. Con database molto pesanti il tempo di aggiornamento aumenta considerevolmente, il consumo di risorse di mysql (CPU e RAM) sulla macchina su cui si sta aggiornando schizza in alto e lo script upgrade.php può andare in timeout non riuscendo a terminare la procedura con successo. Una procedura di upgrade del database di WordPress che non si conclude in modo ottimale può comportare l’impossibilità di accedere ancora al backend del blog, con il messaggio “è necessario l’aggiornamento del database” che continua a riproporsi.

Aggiornamento database WordPress, come riaccedere al proprio blog

Le strade sono due per riaccedere al proprio WordPress: si accede via FTP o ssh al file /wp-includes/version.php e lo si modifica con un editor di testi cambiando il numero di versione del database inserendo l’identificativo della versione da cui si è effettuato l’upgrade. Ad esempio se aggiornavamo da WordPress 4.5.4 a WordPress 4.6.1 e non accediamo più al backend, la versione del database da inserire per poter accedere nuovamente al backend è la 36686, dovremo pertanto andare a togliere la versione del database relativa a WordPress 4.6.1 che è la 37965. La parte di codice interessata a questa modifica in version.php è la seguente:

Leggi tutto

WordPress: sidebar contestuali per categoria usando archive.php

Problema: visualizzare sidebar contestuali per le categorie figlie (descendant) di una categoria madre utilizzando un solo file del tema archive.php (vedere Template Hierarchy per conoscere i tipi e le funzioni di archive.php e degli altri file di un tema WordPress).

Difficoltà: se le categorie figlie sono molte non è consigliato creare un file del tema che usiamo, (es. category-nomecategoria.php) per ognuna, si avrebbe un numero elevato di file per ogni categoria rendendo troppo complessa la struttura del nostro tema.

Leggi tutto

Pagelines Platform in italiano per WordPress

Utilizzo il tema per WordPress Platform di Pagelines da qualche settimana, l’ho sostituito a Simpla rendendolo in tutto e per tutto simile al vecchio tema. Purtroppo Pagelines non include una localizzazione in italiano quindi ho deciso di tradurre tutto (o quasi) il tema a mano usando Poedit. Ho spedito la localizzazione italiana di Platform a Pagelines e mi hanno detto che dopo averla valutata (non ho più saputo nulla…) la includeranno nel tema.

Nel frattempo, per chi avesse bisogno di avere il tema Platform in italiano allego qui i due file della localizzazione che andranno caricati nella cartella “language” del tema stesso:

  • it_IT.po (è il file sorgente che potete modificare se non siete soddisfatti della mia traduzione o volete completarla)
  • it_IT.mo (il file che viene effettivamente usato per la traduzione di Platform)

WordPress: visualizzare i post più popolari di una categoria senza alcun plugin

Esistono fondamentalmente due plugin per WordPress che consentono di mostrare i post più visti e/o più popolari di un blog: WordPress Popular Posts e WP PostViews. Entrambi non sono aggiornati all’ultima versione di WordPress, ma funzionano comunque, tuttavia non permettono una cosa che ho sempre cercato: la visualizzazione dei post più popolari/visti per categoria.

WordPress Popular Posts dà la possibilità di escludere delle categorie ma non consente invece solo di selezionarne alcune, WP PostViews invece permette di visualizzare i più visti per categoria ricorrendo a una sua funzione non molto nota. Questa possibilità è accessibile non attraverso il widget del plugin ma solo attraverso una funzione che però è abbastanza limitata, non permette ad esempio di dare un range temporale ai più post più visti visualizzabili. La funzione di Wp PostViews è richiamabile così:

<?php get_most_viewed_category(3415, 'post', 5); ?>

Così mi sono messo a cercare qualcosa che potesse evitarmi di utilizzare un plugin o ancora peggio di modificare uno dei due menzionati. Ho trovato qualcosa di molto vicino a quello che cercavo qui, ecco lo snippet:

Leggi tutto

Gestione avanzata delle categorie di WordPress, i migliori plugin (secondo me)

WordPress non consente di default di effettuare operazioni avanzate sulle categorie, ecco perché ritengo possa essere utile presentare un elenco ragionato dei plugin che nel tempo ho utilizzato per superare alcune limitazioni.

  • Batch Cat: consente di assegnare più post contemporaneamente a una categoria, rendendo molto semplice lo spostamento in massa di post da una categoria a un’altra.
  • Restric categories: consente di restringere l’utilizzo di alcune categorie solo da parte di utenti che abbiano un determinato ruolo. Ideale per non consentire a particolari utenti di postare in qualsiasi categoria.

Leggi tutto

WordPress 3.0: aggiornamento completato

Da qualche ora è stato rilasciato WordPress 3.0, conoscendo la piattaforma e avendo testato dalle prime release alpha WP 3, ho deciso di effettuare subito l’upgrade.

Come al solito ho preferito effettuare un aggiornamento manuale di tutti i file non ricorrendo all’upgrade automatico e la procedura si è conclusa senza intoppi. Al momento ho riscontrato solo dei problemi nell’inserimento dei tag nei post non so se la cosa sia dovuta a un conflitto con qualche plugin causati da un conflitto con HeadSpace2. La cosa è risolvibile disattivando i “Tags” dai “Moduli Pagina” di HeadSpace 2.

Anche il template non sembra aver avuto problemi (cosa che avevo già potuto verificare in locale con le precedenti release candidate di WordPress 3.0), nonostante si tratti di un tema ormai abbastanza datato.

Vedrò nelle prossime ore se davvero è tutto ok 😉

Compilare PHP e XCache da sorgenti

Su Debian e Ubuntu si può installare PHP con supporto a XCache dando il comando “apt-get install php5-xcache“, ma non sempre la versione che si trova nei repository è adatta alla nostre esigenze oppure si ha semplicemente bisogno di compilare una propria versione in locale per poi trasferirla in uno spazio Web remoto (UnBit per esempio o Dreamhost sono due hosting che consentono di caricare una versione personalizzata di PHP).

Vediamo come sia possibile compilare e installare PHP in un percorso scelto da noi e come si possa compilare e abilitare XCache in PHP.

Scarichiamo PHP 5.2.13 (ho scelto questa versione di PHP per avere la certezza di poter far girare praticamente qualsiasi CMS moderno), scompattiamo il file compresso e portiamoci all’interno della directory creata. Configuriamo PHP impostando un prefix personalizzato (nell’esempio /accounts/matteo), in modo da non sovrascrivere la versione di PHP installata, e impostando le opzioni più comuni.

Leggi tutto