Las actualizaciones automáticas en segundo plano de WordPress nos acompañan desde la versión 3.7 nada menos, y han contribuido, a pesar de las reticencias iniciales, a que los sitios WordPress sean a día de hoy mucho más seguros que hace unos años, precisamente gracias a tener siempre todo actualizado por defecto.
Actualizaciones automáticas en segundo plano de WordPress por defecto
Por defecto, WordPress solo actualiza automáticamente en segundo plano, sin intervención del administrador de la web, las actualizaciones menores del núcleo, del mismo WordPress.
Pero, además, puedes activar a un clic las actualizaciones automáticas de plugins y temas desde la misma página de gestión de los mismos.
Personalizar las actualizaciones automáticas en segundo plano de WordPress, plugins y temas
Hasta aquí lo que WordPress hace por defecto, pero hay un montón de trucos que podemos aplicar para desactivar o activar actualizaciones, aquí los tienes todos…
Desactivar actualizaciones automáticas
Añade lo siguiente al archivo wp_config.php y desaparecerán las opciones de actualización automática de plugins y temas, y ya no se actualizarán solas las versiones menores de WordPress:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Si lo prefieres, también se puede conseguir lo mismo añadiendo con este filtro, en un plugin mu o como prefieras:
add_filter( 'automatic_updater_disabled', '__return_true' );
Control de las actualizaciones del núcleo de WordPress
Desde el archivo wp-config.php podemos controlar las actualizaciones automáticas de WordPress con distintos niveles:
# Actualizar automáticamente WordPress - Versiones en desarrollo, mayores y menores
define( 'WP_AUTO_UPDATE_CORE', true );
# Actualizar automáticamente WordPress - Solo versiones menores
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
# Desactivar completamente las actualizaciones del núcleo de WordPress
define( 'WP_AUTO_UPDATE_CORE', false );
Lo mismo usando filtros:
add_filter( 'allow_dev_auto_core_updates', '__return_true' ); // Permitir actualizar a versiones en desarrollo add_filter( 'allow_minor_auto_core_updates', '__return_true' ); // Permitir actualizaciones a versiones menores add_filter( 'allow_major_auto_core_updates', '__return_true' ); // Permitir actualizaciones a versiones menores
Temas y plugins
Actualizaciones del tipo o todo o nada de temas y plugins.
Por defecto están desactivadas las actualizaciones de plugins y temas, pero puedes activarlas con un clic como vimos antes, o mediante filtros:
add_filter( 'auto_update_plugin', '__return_true' ) //Activar actualizaciones automáticas de todos los plugins add_filter( 'auto_update_theme', '__return_true' ) //Activar actualizaciones automáticas de todos los temas
Estos filtros pasan mediante el objeto update, así que es posible manipular ese objeto para que actualice temas o plugins específicos, ya sea mediante lista blanca (include) o mediante lisa negra (exclude).
Un ejemplo de función, usando este filtro, para actualizar automáticamente los plugins Akismet y BuddyPress sería así:
function auto_update_specific_plugins ( $update, $item ) {
// Array de slugs de plugins que actualizar automaticamente siempre
$plugins = array (
'akismet',
'buddypress',
);
if ( in_array( $item->slug, $plugins ) ) {
// Actualizar siempre los plugins del array
return true;
} else {
// En caso contrario usar la respuesta normal de la API para que decida si actualizar o no
return $update;
}
}
add_filter( 'auto_update_plugin', 'auto_update_specific_plugins', 10, 2 );
Traducciones
Por defecto las traducciones se actualizan automáticamente por defecto, pero puedes desactivar su actualización mediante un filtro:
add_filter( 'auto_update_translation', '__return_false' ); //Desactivar actualizaciones automaticas de traducciones
Emails de resultado de las actualizaciones
Siempre que hay una actualización automática WordPress envía un correo electrónico informando si se realizó correctamente, hubo un fallo o un error crítico. Para desactivar estos emails puedes usar esl siguiente filtro:
add_filter( 'auto_core_update_send_email', '__return_false' ); //Desactivar emails tras actualizaciones automaticas
Igualmente, puedes usar este filtro para modificar los emails en base al tipo de correo ($type) según el resultado de la actualización (correcta, fallida, error crítico) a través de $core_update o $result:
/* @param bool $send Si enviar el email. Por defecto es true @param string $type El tipo de email a enviar. Puede ser 'success', 'fail', 'critical' @param object $core_update El intento realizado @param mixed $result El resultado de la actualización. Puede ser WP_Error. */ apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );
¿Hay más?
Si quieres ir aún más lejos aquí te dejo un enlace en el que puedes seguir aprendiendo sobre las actualizaciones automáticas en segundo plano de WordPress:
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!










Hola Fer, una consulta fuera del tema del post. He creado un plugin con la ayuda de ChatGTP y funciona bien para un sitio que está en ingles, básicamente se encarga de disparar un anuncio al usuario cuando hacen clic en cierto lugar, pero al querer hacer un ajuste para un sitio en 2 idiomas donde el mensaje debe dispararse en el respectivo idioma donde el usuario esté navegando ahí empiezan las fallas y ChatGTP no lo ha podido dejar funcional al 100%. Me gastaría saber si tu me puedes ayudar a hacer el ajuste. Muchas gracias
Tendría que ver qué código has usado
Claro, ¿a que correo te lo envío?
Hola Fernando, que pasa cuando en una web no se utiliza no se actualizan mi plugins ni temas? ni automáticamente ni manual, aún sabiendo que existen actualizaciones, qué puedo hacer?
Como siempre muchas gracias por tu aportación al mundo WordPress
Hola Esther, pues nada o todo, o tienes suerte viviendo peligrosamente y nunca le pasa nada a la web o te la hackean cualquier día (o te la han hackeado ya y no lo sabes). Lo que seguro que pasará es que no recibirá tampoco optimizaciones de rendimiento, y también llegará un momento en que tengas que actualizar obligatoriamente porque el hosting no admita plugins o incluso WordPress tan atrasados, incompatibles con las últimas versiones de PHP, o te cobrará extras por ello.
Gracias Fernando, seguí tu consejo y todo actualizado y en orden.
Muchas gracias.