Jak skonfigurować automatyczne aktualizacje w WordPress 3.7?

32

WordPress 3.7 dodał automatyczne aktualizacje. Jak to działa i jak mogę skonfigurować tę funkcję?

Chip Bennett
źródło

Odpowiedzi:

29

Automatyczne aktualizacje są automatyczne.

Podstawowym, domyślne zachowanie w WordPress 3.7 jest automatyczna aktualizacja rdzenia dla wersji drobnych (tj X.Y.Zdo X.Y.Z+1).

W interfejsie użytkownika nie są widoczne żadne opcje konfiguracji. Aby zmienić zachowanie, musisz zmodyfikować wp-config.phpplik lub dodać kilka filtrów:

Łatwe wyłączanie

Dodaj następujące elementy do wp_config.php:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Możesz też dodać następujący filtr:

add_filter( 'automatic_updater_disabled', '__return_true' );

Kontrola aktualizacji rdzenia

Przez wp-config.php:

// Update core - development, major, and minor versions
define( 'WP_AUTO_UPDATE_CORE', true );

// Update core - minor versions
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

// Core update disabled
define( 'WP_AUTO_UPDATE_CORE', false );

Poprzez filtry:

// Enable nightlies (dev updates):
add_filter( 'allow_dev_auto_core_updates', '__return_true' );

// Enable major version updates:
add_filter( 'allow_major_auto_core_updates', '__return_true' );

// Disable minor updates
add_filter( 'allow_minor_auto_core_updates', '__return_false' );

Motywy i wtyczki

Motywy i wtyczki automatycznej aktualizacji „wszystko albo nic”:

Aktualizacje motywów i wtyczek są domyślnie wyłączone . Aby włączyć przez filtr:

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

Te filtry są przekazywane do obiektu aktualizacji; więc można manipulować tym obiektem, aby celować w określone Motywy lub Wtyczki, które mają zostać zaktualizowane, na białej liście (dołącz) lub wykluczone z automatycznych aktualizacji.

Pliki do tłumaczenia

Aktualizacje plików tłumaczenie są włączone domyślnie. Aby wyłączyć przez filtr:

// Disable translation updates
add_filter( 'auto_update_translation', '__return_false' );

Zaktualizuj wiadomości e-mail z wynikami

Aktualizator wysyła wiadomość e-mail z wynikiem, niepowodzeniem lub błędem krytycznym. Aby wyłączyć przez filtr:

// Disable update emails
add_filter( 'auto_core_update_send_email', '__return_false' );

Tego filtra można również używać do manipulowania wiadomościami e-mail dotyczącymi aktualizacji według wiadomości e-mail $type(sukces, niepowodzenie, krytyczne), obiektu typu aktualizacji $core_updatelub $result:

/* @param bool   $send        Whether to send the email. Default true.
 * @param string $type        The type of email to send.
 *                            Can be one of 'success', 'fail', 'critical'.
 * @param object $core_update The update offer that was attempted.
 * @param mixed  $result      The result for the core update. Can be WP_Error.
 */
apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );

Dalsza lektura

Wpis Kodeksu tutaj . Więcej informacji tutaj .

Chip Bennett
źródło
5
Myślę, że możesz to zrobić dla indywidualnej aktualizacji motywu / wtyczki zgodnie z komentarzami Nacina „Poprzednie opcje konfiguracji są prawie wszystko. Możesz jednak chcieć czegoś bardziej szczegółowego. auto_update_$type filter (auto_update_core, auto_update_plugin, auto_update_theme, auto_update_translation)Jest uruchamiany dla określonych aktualizacji, ponieważ są one gotowy do aktualizacji. Ten filtr jest przekazywany do rzeczywistego obiektu aktualizacji, który opisuje, co WordPress ma zamiar zaktualizować. Oznacza to, że możesz selektywnie włączyć na przykład poszczególne wtyczki lub motywy, lub na białej liście nadchodzących aktualizacji podstawowych. ”
pollyplummer
1
@pollyplummer za wszelką cenę, dodaj tę informację do odpowiedzi! To dobre rzeczy. :)
Chip Bennett
1
@brasofilo ”Czy w sekcji„ Łatwa aktualizacja ”nie powinno być„ Lub dodać następujący filtr „? ” - niezgodny z Kodeksem. Zaleca stosowanie obu.
Chip Bennett,
1
Jeśli poprawnie przestrzegam logiki rdzenia, najpierw przechodzi ona przez filtr, a potem przez stałą. Jeśli tak, powinniśmy zaktualizować wpis w Kodeksie za pomocą „lub”. Widzę też, że DISALLOW_FILE_MODSzatrzymuje wszelkie aktualizacje.
brasofilo
1
@Howdy_McGee Właśnie opublikowałem przewodnik, jak wykluczyć niektóre wtyczki . Ponadto strona aktualizacji w Wordpress informuje, czy automatyczne aktualizacje są włączone. Jeśli nie wspomina o automatycznych aktualizacjach, użyj tej wtyczki, aby dowiedzieć się, dlaczego są wyłączone.
David
2

Możesz sprawdzić, czy konfiguracja witryny i serwera obsługuje automatyczne aktualizacje za pomocą wtyczki Testera aktualizacji w tle . Od Nacin: „Ta wtyczka sprawdza zgodność witryny i wyjaśnia wszelkie problemy”.

Miriam Schwab
źródło
Nie aktualizowany od 2015 roku, czasy wordpress ~ 4.1.
kubańczyk