Come Configurare gli Aggiornamenti Automatici in WordPress 3.7?

25 ott 2013, 17:43:10
Visualizzazioni: 15.4K
Voti: 35

WordPress 3.7 ha introdotto gli aggiornamenti automatici. Come funziona questa caratteristica e come posso configurarla?

0
Tutte le risposte alla domanda 2
9
30

Gli aggiornamenti automatici sono automatici.

Il comportamento predefinito di base in WordPress 3.7 è l'aggiornamento automatico del core per le versioni minori (es. da X.Y.Z a X.Y.Z+1).

Non sono presenti opzioni di configurazione nell'interfaccia utente. Per modificare il comportamento, è necessario intervenire sul file wp-config.php o aggiungere alcuni filtri:

Disabilitazione Semplice

Aggiungi quanto segue a wp-config.php:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

In alternativa, aggiungi questo filtro:

add_filter( 'automatic_updater_disabled', '__return_true' );

Controllo Aggiornamenti Core

Via wp-config.php:

// Aggiorna core - versioni di sviluppo, major e minor
define( 'WP_AUTO_UPDATE_CORE', true );

// Aggiorna core - solo versioni minor
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

// Disabilita aggiornamenti core
define( 'WP_AUTO_UPDATE_CORE', false );

Via filtri:

// Abilita aggiornamenti nightly (dev):
add_filter( 'allow_dev_auto_core_updates', '__return_true' );

// Abilita aggiornamenti major:
add_filter( 'allow_major_auto_core_updates', '__return_true' );

// Disabilita aggiornamenti minor
add_filter( 'allow_minor_auto_core_updates', '__return_false' );

Temi e Plugin

Aggiornamenti Automatici Totali o Nulla per Temi e Plugin:

Gli aggiornamenti di temi e plugin sono disabilitati di default. Per abilitarli via filtro:

add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );

Questi filtri vengono passati all'oggetto di aggiornamento; è quindi possibile manipolare tale oggetto per indirizzare aggiornamenti automatici a specifici temi o plugin, sia per includerli che per escluderli.

File di Traduzione

Gli aggiornamenti dei file di traduzione sono abilitati di default. Per disabilitarli via filtro:

// Disabilita aggiornamenti traduzioni
add_filter( 'auto_update_translation', '__return_false' );

Email di Risultato Aggiornamento

L'updater invia un'email con il risultato in caso di successo, fallimento o errore critico. Per disabilitare via filtro:

// Disabilita email di aggiornamento
add_filter( 'auto_core_update_send_email', '__return_false' );

Questo filtro può essere usato anche per manipolare le email in base al tipo $type (successo, fallimento, critico), all'oggetto di aggiornamento $core_update o al risultato $result:

/* @param bool   $send        Se inviare l'email. Default true.
 * @param string $type        Tipo di email da inviare.
 *                            Può essere 'success', 'fail', 'critical'.
 * @param object $core_update L'offerta di aggiornamento tentata.
 * @param mixed  $result      Il risultato dell'aggiornamento. Può essere WP_Error.
 */
apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );

Approfondimenti

Voce del Codex qui. Maggiori informazioni qui.

25 ott 2013 17:43:10
Commenti

C'è un modo per testare se i miei aggiornamenti automatici funzionano senza dover aspettare? Inoltre, posso escludere determinati plugin dal filtro di aggiornamento dei plugin?

Howdy_McGee Howdy_McGee
25 ott 2013 17:48:16

Abilita le versioni notturne e aspetta fino a domani? :) E no, attualmente non c'è modo di includere/escludere determinati Plugin o Temi; è tutto-o-niente.

Chip Bennett Chip Bennett
25 ott 2013 18:05:44

Penso che tu possa farlo per singoli aggiornamenti di temi/plugin come menzionato nei commenti di Nacin "Le opzioni di configurazione precedenti sono tutto-o-niente. Potresti però volere qualcosa di più granulare. Il filtro auto_update_$type (auto_update_core, auto_update_plugin, auto_update_theme, auto_update_translation) viene attivato per aggiornamenti specifici, quando sono pronti per essere aggiornati. Questo filtro riceve l'oggetto di aggiornamento effettivo che descrive cosa WordPress sta per aggiornare. Questo significa che puoi abilitare selettivamente singoli plugin o temi per l'aggiornamento, per esempio, o mettere in whitelist i prossimi aggiornamenti del core."

pollyplummer pollyplummer
25 ott 2013 20:12:55

@pollyplummer assolutamente, aggiungi pure quelle informazioni alla risposta! Ottimo materiale. :)

Chip Bennett Chip Bennett
25 ott 2013 20:17:08

Nella sezione "Aggiornamento Semplice", non dovrebbe essere "Oppure aggiungi il seguente filtro"?

brasofilo brasofilo
25 ott 2013 20:40:51

@brasofilo "Nella sezione 'Aggiornamento Semplice', non dovrebbe essere 'Oppure aggiungi il seguente filtro'?" - non secondo il Codex. Raccomanda di usarli entrambi.

Chip Bennett Chip Bennett
25 ott 2013 20:52:44

Se ho capito correttamente la logica principale, passa prima dal filtro, poi dalla costante. Se è così, dovremmo aggiornare la voce del Codex con "o". Sto anche notando che DISALLOW_FILE_MODS blocca qualsiasi tipo di aggiornamento.

brasofilo brasofilo
25 ott 2013 21:12:27

Aggiornato il blocco generico per riflettere la modifica del Codex. Aggiornato Tema/Plugin per indicare il filtraggio mirato. Aggiunta sezione per disabilitare/manipolare le email di risultato degli aggiornamenti.

Chip Bennett Chip Bennett
26 ott 2013 21:04:16

@Howdy_McGee Ho appena pubblicato una guida su come escludere determinati plugin. Inoltre, la pagina di aggiornamento in WordPress ti dice se gli aggiornamenti automatici sono attivati. Se non menziona gli aggiornamenti automatici, usa questo plugin per scoprire perché sono disabilitati.

David David
28 gen 2014 05:26:39
Mostra i restanti 4 commenti
2

Puoi verificare se il tuo sito e la configurazione del server supportano gli aggiornamenti automatici con il plugin Background Update Tester. Da Nacin: "Questo plugin controlla la compatibilità del tuo sito e spiega eventuali problemi."

1 nov 2013 02:42:29
Commenti

Non aggiornato dal 2015, ai tempi di WordPress ~ 4.1.

kubanczyk kubanczyk
6 gen 2018 15:17:31

Voto negativo a causa del commento molto pertinente di @kubanczyk.

Gwyneth Llewelyn Gwyneth Llewelyn
14 feb 2023 21:05:57