Desactivar la verificación automática de actualizaciones en WordPress

10 jun 2013, 21:29:20
Vistas: 18K
Votos: 9

WordPress verifica automáticamente las actualizaciones de sí mismo y de todos los temas y plugins instalados. Esto añade una molesta demora al cargar cualquier página de WordPress. Solo ocurre una vez al día y las siguientes cargas de página no lo hacen, pero es tan largo que me hace pensar dos veces si vale la pena abrir esa primera página (especialmente si solo necesito hacer algo rápido en lugar de pasar todo el día en WordPress).

De todos modos, solo actualizo de vez en cuando y preferiría realizar las actualizaciones manualmente, así que creé un plugin para eliminar el botón de Actualizaciones de la barra de administración. Pensé que eso resolvería el problema, pero aparentemente solo elimina el botón y la verificación real todavía se realiza en segundo plano.

Cualquier otro programa en el mundo te permite desactivar las actualizaciones automáticas, así que espero que debería haber una manera de hacer lo mismo para WordPress, pero si la hay, está un poco demasiado bien escondida.

Cuando intenté encontrar una solución, todas las preguntas que aparecieron eran lo opuesto, sobre cómo forzar que las actualizaciones automáticas se apliquen (no solo que se verifiquen automáticamente).

¿Cómo se pueden desactivar las verificaciones automáticas de actualizaciones en WordPress?

6
Comentarios

¿Has leído esto?

fuxia fuxia
10 jun 2013 21:49:26

También revisa la actualización aquí http://wordpress.stackexchange.com/questions/67945/how-do-i-disable-dashboard-update-notifications-for-subscribers/67952#67952, produce un aviso de PHP pero no recuerdo por qué.

Wyck Wyck
10 jun 2013 22:03:29

Además, revisa las instrucciones del codex de WP: http://codex.wordpress.org/Configuring_Automatic_Background_Updates

Tara Tara
24 ene 2014 03:16:27

La información sobre las actualizaciones automáticas en segundo plano en la versión 3.7 no era a lo que me refería (todavía estoy usando la 3.5—evito actualizar hasta que se solucione el tema de los formatos de publicación porque a menudo quiero publicar solo una foto o una frase, no una entrada completa). Sin embargo, la pregunta sobre las notificaciones de actualización en el panel de control definitivamente está relacionada. Cuando vuelva a tener funcionando mi servidor web portátil, lo probaré.

Synetech Synetech
28 mar 2014 03:40:03
Mostrar los 1 comentarios restantes
Todas las respuestas a la pregunta 5
0

Esto funcionó para mí para desactivarlo en localhost - lo cual era muy molesto ya que está detrás de un firewall y el tiempo de espera por el timeout era enorme.

define( 'WP_HTTP_BLOCK_EXTERNAL', true );
define( 'AUTOMATIC_UPDATER_DISABLED', true );
define( 'WP_AUTO_UPDATE_CORE', false );

Ten en cuenta que no estoy seguro si desactivar WP_HTTP_BLOCK_EXTERNAL es necesario. No recomiendo que lo desactives en un servidor que requiera comunicación con otros servidores.

26 nov 2018 00:27:28
1

Cómo desactivar las actualizaciones automáticas del núcleo pero activar las actualizaciones automáticas de plugins y temas

Si deseas detener las actualizaciones automáticas del núcleo de WordPress, pero activarlas para tus Plugins y/o Temas, puedes agregar estas líneas en el archivo wp-config.php: Detener las actualizaciones automáticas del núcleo:

define( 'WP_AUTO_UPDATE_CORE', false );

Luego activar los plugins/temas:

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

Cómo desactivar completamente las actualizaciones automáticas de WordPress

Si deseas desactivar por completo las actualizaciones automáticas de WordPress, abre el archivo wp-config.php y agrega esta línea:

define( 'AUTOMATIC_UPDATER_DISABLED', true );
20 dic 2014 06:25:31
Comentarios

Esto no evita que WP verifique las actualizaciones.

Mati Mati
10 abr 2015 11:14:35
0

El siguiente código desactivará la verificación automática de actualizaciones en el administrador de WordPress. Puedes agregarlo al archivo functions.php de tu tema.

remove_action('admin_init', '_maybe_update_core');
remove_action('admin_init', '_maybe_update_plugins');
remove_action('admin_init', '_maybe_update_themes');
14 nov 2024 05:30:49
1

Bien, aquí tienes una solución que elimina las actualizaciones disponibles y también evita la comprobación de actualizaciones.

Esta solución asume PHP > 5.3 (ya que utiliza funciones anónimas)

Parte 1) Limpia cualquier actualización existente:

add_filter( 'site_transient_update_plugins',
    function ( $oUpdatesResult ) {
        if ( ! is_object( $oUpdatesResult ) ) {
            $oUpdatesResult = new stdClass();
        }
        $oUpdatesResult->response = array();
        return $oUpdatesResult;
    },
    PHP_INT_MAX
);

Parte 2) Previene la petición HTTP saliente que realiza la comprobación real:

add_filter( 'pre_http_request',
    function ( $bFalse, $aReqParams, $sUrl ) {
        if ( strpos( $sUrl, '//api.wordpress.org/plugins/update-check/1.1/' ) ) {
            $bFalse = null;
        }
        return $bFalse;
    },
    PHP_INT_MAX,
    3
);

Puntos a tener en cuenta:

  • WordPress solo comprueba actualizaciones cuando cargas ciertas páginas en el área de administración, como la página de plugins o la página de Actualizaciones, así que realmente no ganas en rendimiento.
  • Esto es solo para plugins. Para manejar temas, repite lo que ves aquí pero donde dice "plugin" cámbialo por "theme". Es decir, en el nombre del filtro y en la URL.
  • Puedes poner esto en el functions.php de tu tema.
30 ago 2017 15:35:00
Comentarios

¿Qué se debe modificar para desactivar la verificación de actualizaciones del núcleo?

iBug iBug
20 ago 2020 14:36:19
1

Mark Jarquith ya había publicado sobre esto en su blog hace un tiempo. Básicamente, cancela las solicitudes a los repositorios públicos de SVN en wp.org a través de los filtros de la API HTTP de WordPress.

Para Plugins (debe colocarse dentro del plugin):

add_filter( 'http_request_args', 'wpse_102554_deny_plugin_updates', 5, 2 );
function wpse_102554_deny_plugin_updates( $r, $url )
{
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/plugins/update-check' ) )
        return $r;

    $plugins = unserialize( $r['body']['plugins'] );
    unset(
        $plugins->plugins[ plugin_basename( __FILE__ ) ],
        $plugins->active[ array_search( plugin_basename( __FILE__ ), $plugins->active ) ]
    );
    $r['body']['plugins'] = serialize( $plugins );

    return $r;
}

Para Temas (debe colocarse dentro del archivo functions.php del tema y solo funciona para el tema actualmente activo):

add_filter( 'http_request_args', 'wpse_102554_deny_theme_updates', 5, 2 );
function wpse_102554_deny_theme_updates( $r, $url )
{
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
        return $r;

    $themes = unserialize( $r['body']['themes'] );
    unset(
        $themes[ get_option( 'template' ) ],
        $themes[ get_option( 'stylesheet' ) ]
    );
    $r['body']['themes'] = serialize( $themes );

    return $r;
}

John Blackburn ha escrito un plugin para desactivar las actualizaciones de temas.

11 jun 2013 03:29:39
Comentarios

Creo que los fragmentos de código no funcionarán. Desde WordPress 3.7 la API funciona con una cadena JSON. La función serialize no puede trabajar con JSON, usa como alternativa json_decode y json_encode. Mira el siguiente gist para el código fuente completo - https://gist.github.com/bueltge/5a3545ada7e68d367424

bueltge bueltge
6 jul 2014 15:22:57