Prevenir / deshabilitar la verificación automática de actualizaciones

4

WordPress busca automáticamente actualizaciones para sí mismo y para todos los temas y complementos instalados. Esto agrega un retraso muy largo para cargar ( cualquiera ) páginas de WordPress. Solo ocurre una vez por día y las cargas de páginas subsiguientes no lo hacen, pero es tan larga que me hace pensar dos veces si vale la pena abrir esa primera página (especialmente si solo necesito hacer un 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 complemento para eliminar el botón Actualizaciones de la barra de administración. Pensé que eso haría el truco, pero aparentemente solo elimina el botón y la verificación real todavía se realiza en segundo plano.

Todos los demás programas del mundo te permiten desactivar las actualizaciones automáticas, así que espero que haya una manera de hacer lo mismo para WordPress, pero si lo hay, está un poco demasiado bien escondido.

Cuando intenté encontrar una solución, todas las preguntas que surgieron fueron lo contrario, sobre cómo encontrar una manera de forzar que las actualizaciones automáticas se apliquen (no solo buscar actualizaciones automáticamente).

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

    
pregunta Synetech 10.06.2013 - 20:29

4 respuestas

3
  

Cómo deshabilitar las actualizaciones automáticas básicas pero habilitar los complementos y los temas automáticamente   actualizaciones

     

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

define( 'WP_AUTO_UPDATE_CORE', false );
  

Luego habilita los complementos / temas:

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

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

     

Si desea deshabilitar las actualizaciones automáticas de WordPress completamente, abra el   wp-config.php y agregue esta línea a él:

define( 'AUTOMATIC_UPDATER_DISABLED', true );
    
respondido por el ravi patel 20.12.2014 - 05:25
0

Mark Jarquith ya publicó acerca de esto en su blog hace un tiempo. Básicamente, simplemente envía solicitudes a los repositorios SVN públicos en wp dot org a través de los filtros de la API HTTP de WP.

Para complementos (debe colocarse dentro del complemento):

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 de 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 complemento para deshabilitar las actualizaciones del tema .

    
respondido por el kaiser 11.06.2013 - 02:29
0

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

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

Parte 1) Borra 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) Evita la solicitud HTTP saliente que ejecuta la verificació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 busca actualizaciones cuando carga ciertas páginas en el lado del administrador, como la página de complementos y la página de actualización, por lo que realmente no obtiene ningún rendimiento.
  • Esto es solo para complementos. Para manejar los temas, repita lo que ve aquí, excepto cuando vea "plugin" reemplazar con "tema". Es decir. en el nombre del filtro y la URL.
  • puedes poner esto en function.php de tu tema
respondido por el Paul G. 30.08.2017 - 14:35
0

Esto me sirvió para deshabilitarlo en localhost, lo cual fue muy molesto ya que está detrás de un firewall y el tiempo de espera fue enorme.

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

Tenga en cuenta que no estoy seguro de que sea necesario deshabilitar WP_HTTP_BLOCK_EXTERNAL. No recomiendo que lo deshabilites en un servidor que requiera comunicación con otros servidores.

    
respondido por el Maciej Krawczyk 25.11.2018 - 23:27

Lea otras preguntas en las etiquetas