WordPress è uno di quei CMS che si aggiornano molto spesso, anche quotidianamente a volte, specie i plugins, ai fini della sicurezza del sito stesso è bene tenere sempre aggiornati i plugin, il core di WordPress ed il template; questa operazione richiede ovviamente tempo soprattutto se avete più di un sito da tenere aggiornato, a quel punto diventa davvero impegnativo.
Non tutti sanno che è possibile configurare WP in modo che si aggiorni automaticamente senza l’intervento dell’utente, e lo si può fare sia per i plugin che per il core che per il tema utilizzato, fico no ? 🙂
P.S.
Prima di abilitare queste funzioni vi consiglio intanto di fare un backup dell’intero sito WordPress e poi valutare bene se è il caso di abilitare gli aggiornamenti automatici di WP, infatti mi è capitato di vedere alcuni siti che avevano subito modifiche al tema, ai file o al core di WordPress e quindi un aggiornamento avrebbe eliminato ogni personalizzazione fatta.
Vediamo come si fa!
Come aggiornare automaticamente tutti i plugin di WordPress
Per fare ciò possiamo ricorrere ad una piccola funzione da inserire nel file functions.php del tema in uso, il file si trova in wp-content/themes/nome_tema_in_uso/functions.php
Incolliamo questa stringa alla fine del file
1 2 |
//Enable automatic update for all plugins add_filter( 'auto_update_plugin', '__return_true' ); |
N.B. : fate attenzione che in questo modo TUTTI i plugin si aggiorneranno in modo automatico senza preavviso
Come aggiornare il tema di WordPress in automatico
Lo stesso discorso vale per il template in uso, è sufficiente aggiungere una stringa al file functions.php per far si che il tema si aggiorni automaticamente senza chiedercelo.
1 |
add_filter( 'auto_update_theme', '__return_true' ); |
Come aggiornare automaticamente WordPress WP_AUTO_UPDATE_CORE
La costante WP_AUTO_UPDATE_CORE normalmente viene specificata nel file wp-config.php.
WP_AUTO_UPDATE_CORE può essere valorizzata in 3 modi :
false : vengono disabilitati tutti i tipi di aggiornamento (sviluppo, release minori e maggiori)
true : vengono abilitati tutti gli aggiornamenti (sviluppo, release minori e maggiori)
minor : abilita solo l’aggiornamento delle versioni minori e disattiva quelle maggiori e di sviluppo
N.B. : Gli aggiornamenti del core vengono eseguiti di notte.
Utilizzo dei filtri di WP_AUTO_UPDATE_CORE
E’ possibile fare utilizzo di alcuni filtri nel caso in cui si voglia abilitare o disabilitare in modo specifico in tipo di aggiornamento.
In questo caso i filtri avranno solo valore booleano, quindi true o false, per esempio :
Abilita gli aggiornamenti di sviluppo (developer release)
1 |
add_filter( 'allow_dev_auto_core_updates', '__return_true' ); |
Disabilita gli aggiornamenti minor (minor release)
1 |
add_filter( 'allow_minor_auto_core_updates', '__return_false' ); |
Abilita gli aggiornamenti maggiori (major release)
1 |
add_filter( 'allow_major_auto_core_updates', '__return_true' ); |
Personalmente quest’ultimo è quello che utilizzo di più anche perchè le versioni beta o non ancora ufficiali le reputo troppo delicate e pericolose per metterle in produzione.
Come abilitare l’aggiornamento automatico delle traduzioni WordPress
Invece per abilitare gli aggiornamenti automatici delle traduzioni utilizziamo questa stringa
1 |
add_filter( 'auto_update_translation', '__return_true' ); |
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.
buongiorno Alessio. Forse raccontando il mio caso a commento di un articolo sull’autoupdate la prenderai come una provocazione ma non lo è! Di fatto, spesso l’aggiornamento alle nuove release di wp e dei suoi plug-in porta a temporanee conflittualità e malfunzionamenti che il più delle volte sono risolvibili anche con pochi click. Nel mio caso l’aggiornamento all’ultima release (4.7.2) mi ha catapultata in una situazione al momento insolubile dove la struttura permalink non funziona anche se cambio tema ed utilizzo i temi ufficiali wordpress e anche se disattivo tutti i plug-in e svuoto ovviamente la cache il risultato è invariato: si permalink funzionano solo con la struttura semplice (/?p=123) .
se provo a personalizzarli e rimetterli nel settaggio esistente al momento dell’aggiornamento ( /%postname%/) tutti i link non caricano le pagine corrispondenti ed effettuano redirect alla pagina index, homepage.
Se posso entrare nello specifico dei tentativi fatti, queste le operazioni che ho tentato per risolvere il problema:
ho disattivato tutti i plug-in
svuotato la cache del browser
reinstallato più di una volta da backoffice wordpress all’ultima versione
reinstallato wordpress ultima versione manualmente da ftp
renistallati tutti i temi ufficiali wordpress
tentato quindi di variare la struttura permalinks attivando i temi ufficiali (twentyseventeen, twentysixteen, twentyfifteen, twentyfourteen) il mio è un tema child di twentyfourteen, ma ripeto, ho provato a far girare il sito anche con tutti i temi ufficiali elencati
il risultato è sempre lo stesso: qualsiasi tentativo mi riporta sempre alla pagina index, alla homepage
ho anche monitorato che il sistema .htaccess funzioni e vedo che sì, funziona tutto: quando modifico la struttura permalink su htaccess viene attivato il rewrite, quando ritorno invece a permalink semplice ottengo:
# BEGIN WordPress
# END WordPress
vuoto quindi è corretto.
Ho consultato il mio provider e lato server è tutto funzionante.
E’ un mistero. Ti posso chiedere se tutto ciò ti dice niente, se ci sono altre operazioni che tenteresti?
grazie per le risposte
Lorenza
Ciao Lorenza,
infatti la guida dice comunque che gli aggiornamenti vanno prima testati e di fare attenzione soprattutto se sono siti in produzione.
Detto ciò, riguardo al tuo caso a me onestamente sembra proprio un problema di htaccess, hai provato a copiarne uno da un altro installazione di WP ?
Oppure prova a montare in locale l’installazione di WP e vedi se li ti funziona.
grazie Alessio. Sì ho provato a copiare l’htaccess da un altro WP e il risultato non cambia. Adesso ho fatto tutti gli aggiornamenti anche sull’altra evrsione di questo sito, in altra lingua, e lì tutto è andato a buon fine.
A questo punto… si tratta di qualche errore nel processo. Ma non potrebbe essere che il database è danneggiato?
Infatti, ieri tra gli altri tentativi ho anche provato a er-importare nel db esistente il backup casomai fosse stato un problema nel db.
Ho ottenuto anche un messaggio a cui non ho dato importanza:
—
— Dump dei dati per la tabella `wp_blogs`
—
INSERT INTO `wp_blogs` (`blog_id`, `site_id`, `domain`, `path`, `registered`, `last_updated`, `public`, `archived`, `mature`, `spam`, `deleted`, `lang_id`) VALUES
(1, 1, ‘www.ranierilavastone.com’, ‘/’, ‘2016-02-16 16:08:23’, ‘0000-00-00 00:00:00’, 1, 0, 0, 0, 0, 0);
Messaggio di MySQL:
#1062 – Duplicate entry ‘1’ for key ‘PRIMARY’
non saprei come interpretarlo, e ti domando se, piuttosto che far girare wp in locale, non sia il caso di riparare il database. Su questo confesso che è al di là della mia conoscenza attuale. Più che re-importare il backup non saprei che altro fare… ma inizio a sospettare che il problema stia lì
Grazie per la velocità della tua risposta
Ciao Lorenza,
mi sa che hai fatto un pò di pasticci 🙁
L’errore SQL ti dice che c’è già un record uguale e quindi non lo può inserire, di conseguenza si ferma lo script di importazione.
Se vuoi posso guardarci io, ti quoto qualche ora per il debug e vediamo cosa succede.
Buon pomeriggio,
Provo anche io ad esporre il mio problema sperando che possiate aiutarmi.
Ho messo online il mio sito da diversi mesi, qualche minuto fa vado sul sito per vedere alcune info e noto che il sito non c’è più e c’è la schermata d’installazione veloce di wordpress ( potete vedere anche voi collegandovi al sito http://www.liliumstudios.it) . Aiuto!!! Su ftp il sito sembra essere caricato correttamente mentre non c’è modo di accedere nemmeno alla pagina di amministrazione di wordpress perché vengo sempre reindirizzata alla pagina d’installazione.
Avendo gli aggiornamenti disabilitati e non avendo fatto assolutamente niente nei giorni scorsi cosa può essere successo? Avete inoltre suggerimenti su come risolvere il problema?
Non so andando avanti nelle schermate perché la paura è che mi cancelli tutto quello che attualmente c’è su ftp gettandomi un sito wordpress da zero.
Grazie mille!
Ciao Elena,
c’è qualcosa che non va nel file wp-config.php, lo trovi nella root, controlla che ci siano tutti i dati di connessione al db.