Cum configurez actualizările automate în WordPress 3.7?

25 oct. 2013, 17:43:10
Vizualizări: 15.4K
Voturi: 35

WordPress 3.7 a introdus actualizări automate. Cum funcționează această caracteristică și cum o pot configura?

0
Toate răspunsurile la întrebare 2
9
30

Actualizările automate sunt... automate.

Comportamentul implicit în WordPress 3.7 este actualizarea automată a nucleului pentru versiunile minore (de ex. de la X.Y.Z la X.Y.Z+1).

Nu există opțiuni de configurare în interfața utilizator. Pentru a modifica comportamentul, va trebui să editați fișierul wp-config.php sau să adăugați niște filtre:

Dezactivare Simplă

Adăugați următoarele în wp-config.php:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Sau alternativ, adăugați următorul filtru:

add_filter( 'automatic_updater_disabled', '__return_true' );

Control Actualizări Nucleu

Prin wp-config.php:

// Actualizare nucleu - versiuni de dezvoltare, majore și minore
define( 'WP_AUTO_UPDATE_CORE', true );

// Actualizare nucleu - doar versiuni minore
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

// Dezactivare actualizări nucleu
define( 'WP_AUTO_UPDATE_CORE', false );

Prin filtre:

// Activează actualizări nightly (dezvoltare):
add_filter( 'allow_dev_auto_core_updates', '__return_true' );

// Activează actualizări majore:
add_filter( 'allow_major_auto_core_updates', '__return_true' );

// Dezactivează actualizări minore
add_filter( 'allow_minor_auto_core_updates', '__return_false' );

Teme și Plugin-uri

Actualizări automate pentru toate temele și plugin-urile (tot sau nimic):

Actualizările pentru teme și plugin-uri sunt dezactivate implicit. Pentru a le activa prin filtru:

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

Acești filtre sunt transmisi obiectului de actualizare; astfel este posibil să manipulați acel obiect pentru a ținti anumite teme sau plugin-uri pentru actualizare, fie pentru a le include, fie pentru a le exclude din actualizările automate.

Fișiere de Traducere

Actualizările fișierelor de traducere sunt activate implicit. Pentru a le dezactiva prin filtru:

// Dezactivează actualizările de traduceri
add_filter( 'auto_update_translation', '__return_false' );

Email-uri Rezultat Actualizare

Sistemul de actualizări trimite un email cu rezultatul la succes, eșec sau eroare critică. Pentru a dezactiva prin filtru:

// Dezactivează email-urile de actualizare
add_filter( 'auto_core_update_send_email', '__return_false' );

Acest filtru poate fi folosit și pentru a manipula email-urile în funcție de tipul $type (succes, eșec, critic), obiectul actualizării $core_update, sau rezultatul $result:

/* @param bool   $send        Dacă să trimită email-ul. Implicit true.
 * @param string $type        Tipul de email de trimis.
 *                            Poate fi 'success', 'fail', sau 'critical'.
 * @param object $core_update Oferta de actualizare încercată.
 * @param mixed  $result      Rezultatul actualizării. Poate fi WP_Error.
 */
apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );

Lectură Suplimentară

Intrare în Codex aici. Mai multe informații aici.

25 oct. 2013 17:43:10
Comentarii

Există vreo modalitate prin care pot testa dacă actualizările automate funcționează, în afară de a aștepta? De asemenea, pot exclude anumite plugin-uri din filtrul de actualizare a plugin-urilor?

Howdy_McGee Howdy_McGee
25 oct. 2013 17:48:16

Activează versiunile nightly și apoi așteaptă până mâine? :) Și nu, în prezent nu există nicio modalitate de a include/exclude anumite Plugin-uri sau Teme; este totul sau nimic.

Chip Bennett Chip Bennett
25 oct. 2013 18:05:44

Cred că poți face acest lucru pentru actualizări individuale de teme/plugin-uri conform comentariilor lui Nacin: "Opțiunile anterioare de configurare sunt totul sau nimic. Este posibil, totuși, să doriți ceva mai detaliat. Filtru auto_update_$type (auto_update_core, auto_update_plugin, auto_update_theme, auto_update_translation) este declanșat pentru actualizări specifice, atunci când acestea sunt gata să fie actualizate. Acestui filtru i se transmite obiectul actual de actualizare care descrie ce este pe cale să actualizeze WordPress. Aceasta înseamnă că puteți activa selectiv actualizarea pentru anumite plugin-uri sau teme, de exemplu, sau să adăugați la lista albă viitoarele actualizări de nucleu."

pollyplummer pollyplummer
25 oct. 2013 20:12:55

@pollyplummer desigur, te rog adaugă acele informații în răspuns! Sunt lucruri foarte utile. :)

Chip Bennett Chip Bennett
25 oct. 2013 20:17:08

În secțiunea "Actualizare ușoară", nu ar trebui să fie "Sau adaugă următorul filtru"?

brasofilo brasofilo
25 oct. 2013 20:40:51

@brasofilo "În secțiunea 'Actualizare ușoară', nu ar trebui să fie 'Sau adaugă următorul filtru'?" - nu conform Codex. Se recomandă utilizarea ambelor.

Chip Bennett Chip Bennett
25 oct. 2013 20:52:44

Dacă înțeleg corect logica de bază, aceasta trece mai întâi prin filtrul, apoi prin constantă. Dacă da, ar trebui să actualizăm intrarea din Codex cu "sau". De asemenea, observ că DISALLOW_FILE_MODS oprește orice fel de actualizare.

brasofilo brasofilo
25 oct. 2013 21:12:27

Am actualizat dezactivarea generală pentru a reflecta modificarea din Codex. Am actualizat secțiunea pentru Teme/Plugin-uri pentru a indica filtrarea țintită. Am adăugat o secțiune pentru dezactivarea/manipularea email-urilor cu rezultatele actualizărilor.

Chip Bennett Chip Bennett
26 oct. 2013 21:04:16

@Howdy_McGee Tocmai am postat un ghid pentru cum să excludi anumite plugin-uri. De asemenea, pagina de actualizări din WordPress îți spune dacă actualizările automate sunt activate. Dacă nu menționează actualizările automate, atunci folosește acest plugin pentru a afla de ce sunt dezactivate.

David David
28 ian. 2014 05:26:39
Arată celelalte 4 comentarii
2

Puteți verifica dacă site-ul și configurația serverului suportă actualizări automate cu ajutorul plugin-ului Background Update Tester. Conform lui Nacin: "Acest plugin verifică compatibilitatea site-ului tău și explică orice probleme."

1 nov. 2013 02:42:29
Comentarii

Neactualizat din 2015, din vremea WordPress ~ 4.1.

kubanczyk kubanczyk
6 ian. 2018 15:17:31

Respins din cauza comentariului foarte pertinent al lui @kubanczyk.

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