Cómo desactivar o gestionar las actualizaciones automáticas de WordPress.

En lo primero que queremos insistir en este artículo es que es importantísimo que un gestor de contenidos esté actualizado. Tanto el programa (core) como sus componentes (temas y plugins. Más aún en el caso de WordPress que, al ser el más usado, es también uno de los más atacados.

Pero también es cierto que una de las razones más frecuentes por las que se suelen “caer” las páginas de WordPress es por actualizar un componente que no es compatible con algún otro (plugins, tema o versión de WordPress). Así que muchos administradores prefieren no tener las actualizaciones automáticas y hacerlo manualmente.
Hoy os vamos a enseñar a tener total control de las actualizaciones automáticas.

Cómo gestionar las actualizaciones automáticas de WordPress.

Hay varios métodos para gestionar las actualizaciones de WordPress.

Modificando el wp-config.php

Una de las maneras es poniendo instrucciones en nuestro fichero wp-config.php. Para ello tienes que entrar por FTP y SSH y editarlo. Os dejamos las opciones principales (más información aquí).

Para detener TODAS las actualizaciones en WordPress (el sistema, temas y plugins).

define( 'AUTOMATIC_UPDATER_DISABLED', true );

El valor por defecto es falso (se permiten) y no hace falta ponerlo si se quieren permitir.

Para detener sólo las actualizaciones automáticas de WordPress (el sistema, el core):

define( 'WP_AUTO_UPDATE_CORE', false );

Las opciones que permite esto son:

  • true – > permite todas las actualizaciones del programa WordPress.
  • false – > prohíbe las actualizaciones automáticas de WordPress.
  • minor -> Sólo permite actualizaciones entre versiones menores. Es decir se puede actualizar de una 2.34 a una 2.35 pero no de una 2.3 a una 2.4. , Es el valor por defecto (no hay que añadir la línea si es lo que queremos).

Con filtros que se pueden poner en el fichero functions.php o en un Snippet

Lo anterior se puede hacer usando filtros en el functions.php o en Snippets. De hecho se pueden hacer más cosas. Os dejamos las más importantes.

En todos estos casos __return_true habilita y __return_false deshabilita.

  • Permitir todas las actualizaciones del core:

add_filter( 'auto_update_core', '__return_true' );

  • Para especificar los tipos de actualizaciones del core que se permiten (o deniegan).

add_filter( 'allow_dev_auto_core_updates', '__return_true');      // Actualizaciones de desarrollo
updatesadd_filter( 'allow_minor_auto_core_updates', '__return_true');    // Menores
updatesadd_filter( 'allow_major_auto_core_updates', '__return_true');   // Mayores

  • Actualizaciones de plugins (permitir)

    add_filter( 'auto_update_plugin', '__return_true' );

Podríamos incluso incluirlo en una función para especificar los que permitimos:

functionauto_update_specific_plugins ( $update, $item) {
// Array of plugin slugs to always auto-update
$plugins= array(
'akismet',
'buddypress',
);
if( in_array( $item->slug, $plugins) ) {
// Always update plugins in this array
return true;
} else{
// Else, use the normal API response to decide whether to update or not
return $update;
}
}
add_filter( 'auto_update_plugin', 'auto_update_specific_plugins', 10, 2 );

  • Para habilitar las actualizaciones de temas:

    add_filter( 'auto_update_theme', '__return_true' );
  • Para desactivar las de traducciones:

    add_filter( 'auto_update_translation', '__return_false' );

Con un Plugin

Si todo lo anterior te parece muy complicado puedes instalar un plugin para gestionar las actualizaciones. Recomendamos el siguiente.

Easy Updates Manager.

Y ya está…con esto ya deberías poder controlar qué se actualiza en tu CMS, cuándo y cómo.