Desactivar notificaciones de actualización para plugins individuales

21 jun 2011, 13:12:38
Vistas: 93.4K
Votos: 64

¿Existe alguna forma de desactivar las notificaciones de actualización para plugins específicos?

Como desarrollador de plugins, tengo algunos plugins instalados en mi sitio personal usando la versión trunk de SVN para pruebas, pero los mismos plugins están disponibles en el repositorio oficial. En estos casos, WordPress considera que la última versión es la más recientemente publicada y constantemente intenta avisarme que hay actualizaciones disponibles.

Quiero seguir viendo notificaciones de actualización para otros plugins, pero es molesto tener que ignorar constantemente el aviso Actualizaciones (2) en el encabezado.

3
Comentarios

Simplemente abre el archivo del plugin y cambia el número de versión a algo como 9.9.9

Bainternet Bainternet
21 jun 2011 17:53:31

Lo siento @Bainternet pero eso habría sido demasiado improvisado porque el sitio es un checkout de svn y el plugin viene de una referencia svn:external al código de desarrollo del plugin. Tener un archivo modificado localmente en un servidor de producción no es una opción. El filtro de Hameedullah funciona porque se guarda en el repositorio de código del sitio.

Caleb Caleb
21 jun 2011 18:22:52

También puedes usar el plugin Disable Updates Manager de Websiteguy en WordPress.org.

matthew matthew
30 may 2014 22:03:12
Todas las respuestas a la pregunta 3
8
84

Por ejemplo, si no quieres que WordPress muestre notificaciones de actualización para Akismet, lo harías así:

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
21 jun 2011 17:44:01
Comentarios

Coloqué eso al final de ./wp-config.php, reemplacé la ruta del archivo del plugin y funcionó.

Caleb Caleb
21 jun 2011 18:20:36

Puedes poner eso en el functions.php de tu tema, si no es posible entonces puedes ponerlo en un archivo de plugin separado. En mi opinión, poner esto en wp-config.php no es una buena idea.

Hameedullah Khan Hameedullah Khan
21 jun 2011 20:07:36

Realmente no quiero que mi función esté vinculada al tema, y agregar un plugin parece ser tan hackeado como simplemente modificar el plugin que tengo. ¿Puedes explicar por qué crees que wp-config.php no es un buen lugar para poner configuraciones específicas del sitio?

Caleb Caleb
22 jun 2011 16:20:13

Muy buena solución, que funcionó bien para mí en functions.php. Es fácil agregar más plugins a la lista simplemente añadiendo otro unset()... Buen consejo Hameedullah..

Lars Koudal Lars Koudal
13 nov 2011 12:28:15

Me alegra verte aquí. :) Espero que aún me recuerdes. Maravilloso que este consejo te haya funcionado.

Hameedullah Khan Hameedullah Khan
14 nov 2011 08:18:29

¡Funcionó perfectamente para mí! Estoy tan contento de haber ignorado los otros que estaba a punto de probar y hackear, seguí buscando y encontré este. ADEMÁS, GRACIAS Caleb por decirme dónde poner esto; ¡al final de wp-config.php ES el lugar correcto! (¡NO functions.php!)

wordpress wordpress
22 abr 2015 04:02:58

Para aquellos con las mismas observaciones que @Caleb, crea en la carpeta wp-content una nueva carpeta llamada: mu-plugins y crea un pequeño plugin que coloques allí. Añadirlo como mencionaron algunos en el wp-config.php es, en mi humilde opinión, absolutamente el lugar incorrecto para hacerlo.

Charles Charles
6 oct 2016 16:34:24

Elimina la notificación de actualización, pero el mensaje de actualización aún permanece.

gmatta gmatta
18 jul 2019 13:38:34
Mostrar los 3 comentarios restantes
1
48

La respuesta de Hameedullah Khan generará una advertencia de PHP. Incluye esta condición para verificar que sea un objeto antes de eliminar la respuesta para ese plugin.

'Advertencia: Intento de modificar propiedad de un no-objeto'

Prueba esto para evitar las advertencias (código para el archivo del plugin en sí):

// eliminar notificación de actualización para plugins bifurcados
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 plugin real. Como solo he desactivado actualizaciones en un plugin porque he editado o bifurcado el código y no quiero perder mis ediciones en una actualización, ya he editado el plugin y por lo tanto no me importa editarlo más. Mantiene mi archivo de funciones un poco más limpio. Pero si lo prefieres puedes ponerlo en el archivo functions.php y un beneficio de ese método es que puedes eliminar múltiples plugins de las actualizaciones añadiendo otra línea unset para ese plugin así (código para functions.php):

// eliminar notificación de actualización para plugins bifurcados
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' );
27 ene 2015 17:01:04
Comentarios

Gracias por esto. Tuve problemas al usar este código directamente dentro de los plugins, parecía funcionar bien cuando era un solo plugin pero tan pronto como lo implementé con otros (con nombres de funciones diferentes) perdí las notificaciones para todos los plugins y el enlace "ver detalles" para los plugins del repositorio de WP también desapareció.

Usar tus verificaciones pero colocándolas en el functions.php de mi tema ha sido más confiable, sin interferir con las notificaciones de actualización de otros plugins.

Finalmente, no estar en el plugin tiene la ventaja de no necesitar que ese plugin esté activo para que funcione. Desactivar un plugin con este código obviamente volverá a mostrar las notificaciones de actualización.

Philip Ingram Philip Ingram
4 abr 2019 04:38:36
1

Desactivar 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');

Este código desactivará las notificaciones de actualización para el núcleo de WordPress, plugins y temas.

9 may 2018 14:09:18
Comentarios

"los plugins individuales" es la clave

gmatta gmatta
18 jul 2019 13:30:01