Deshabilitar la notificación de actualización para complementos individuales

44

¿Hay alguna forma de deshabilitar las notificaciones de actualización para complementos específicos?

Como desarrollador de complementos, tengo algunos complementos instalados en mi sitio personal utilizando la versión de svn trunk para las pruebas, pero los mismos complementos están disponibles en el sitio de complementos. En estos casos, WP considera que la última versión es la versión más recientemente publicada y constantemente me advierte que hay actualizaciones disponibles.

Todavía quiero ver las notificaciones de actualizaciones de otros complementos, ¡pero es una omisión ignorar constantemente el aviso Updates (2) en el encabezado!

    
pregunta Caleb 21.06.2011 - 12:12

3 respuestas

59

Por ejemplo, si no quieres que Wordpress muestre notificaciones de actualización para akismet, lo harás así:

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
respondido por el Hameedullah Khan 21.06.2011 - 16:44
25

La respuesta de Hameedullah Khan arrojará una advertencia de PHP. Incluya esta cláusula if para verificar que sea un objeto antes de desactivar la respuesta para ese complemento.

'Advertencia: Intente modificar la propiedad del no objeto'

Intente esto para evitar las advertencias (código para el archivo del complemento):

// remove update notice for forked plugins
function remove_update_notifications($value) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ plugin_basename(__FILE__) ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );

Me gusta poner esto en el complemento real. Ya que solo he deshabilitado las actualizaciones en un complemento porque he editado o bifurcado el código y no quiero perder mis ediciones en una actualización, ya he editado el complemento y por lo tanto no me importa editarlo más. Mantiene mi archivo de funciones un poco más limpio. Pero si lo desea, puede ponerlo en el archivo de funciones y un beneficio de ese método es que puede eliminar múltiples complementos de las actualizaciones agregando otra línea no configurada para ese complemento como así (código para functions.php):

// remove update notice for forked plugins
function remove_update_notifications( $value ) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ 'hello.php' ] );
        unset( $value->response[ 'akismet/akismet.php' ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
    
respondido por el circlecube 27.01.2015 - 16:01
2

Deshabilitar todas las notificaciones de actualización con código

function remove_core_updates(){
        global $wp_version;return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
    }
    add_filter('pre_site_transient_update_core','remove_core_updates');
    add_filter('pre_site_transient_update_plugins','remove_core_updates');
    add_filter('pre_site_transient_update_themes','remove_core_updates');

El código deshabilitará las notificaciones de actualización para el núcleo, los complementos y los temas de WordPress.

    
respondido por el Super Model 09.05.2018 - 13:09

Lea otras preguntas en las etiquetas