Desactivar notificaciones de actualización para plugins individuales
¿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.

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

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

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.

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?

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..

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

¡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!)

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.

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

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.

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.
