CMS Tips WordPress

[WordPress] Desactivar avisos y notificaciones de plugins y temas

[titulo]Ocultar los avisos de actualizaciones de plugins y temas[/titulo]

WordPress es en realidad, un núcleo diseñado y pensado para ser un blog. El hecho de que seamos capaces de convertir ese núcleo en cualquier otra cosa (Una Tienda Online, un Foro, una Red Social…) se debe a su arquitectura modular.

Este CMS permite la instalación y gestión de plugins de manera sencillísima, y gracias a una comunidad activa que ha creado cientos de miles de ellos, podemos hacer, literalmente, cualquier cosa con ese núcleo inicial.

[subraya_rosa]La mayor parte de esos plugins son gratuítos y eso, claro, tiene un precio: Decenas de avisos invitándote a comprar la versión premium, a adquirir otros plugins de asociados, a actualizarse independientemente…[/subraya_rosa]

Si somos nosotros quienes vamos a gestionar esa instalación de WordPress, podemos ignorarlos y ya está, pero… normalmente creamos webs para clientes, y un cliente verá un aviso y se sentirá tentado a hacer clic. De ahí al desastre es sólo cuestión de tiempo.

Así que la pregunta está clara: ¿Cómo oculto todos esos avisos a mi cliente?

 

Ocultar notificaciones de los plugins y temas

1º- Necesitaremos acceso FTP a nuestra web. Entramos a [codigo]/wp-content/themes/nombre_de_tu_tema/[/codigo] y buscamos el archivo [codigo]functions.php[/codigo].

2º- Lo abrimos y editamos, aunque siempre recomendamos hacer copias de seguridad previamente, y si se puede hacer esta modificación sobre un tema hijo, mejor que mejor. Y añadimos lo siguiente:

function hide_notices_dashboard() {
    global $wp_filter;
 
    if (is_network_admin() and isset($wp_filter["network_admin_notices"])) {
        unset($wp_filter['network_admin_notices']);
    } elseif(is_user_admin() and isset($wp_filter["user_admin_notices"])) {
        unset($wp_filter['user_admin_notices']);
    } else {
        if(isset($wp_filter["admin_notices"])) {
            unset($wp_filter['admin_notices']);
        }
    }
 
    if (isset($wp_filter["all_admin_notices"])) {
        unset($wp_filter['all_admin_notices']);
    }
}
add_action( 'admin_init', 'hide_notices_dashboard' );

 

Ocultar únicamente los avisos de actualización

Si queremos ocultar únicamente los de los plugins:

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

 

Y si deseamos no mostrar los de los temas:

add_action( 'admin_head', 'ocultar_notificacion_actualizacion', 1 );
function ocultar_notificacion_actualizacion() {
 if ( ! current_user_can( 'update_core' )) {
 remove_action( 'admin_notices', 'update_nag', 3 );
 }
}

 

Si te ha resultado útil  esta entrada, ¡Compártela!

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

3 Comentarios

Haz clic aquí para dejar tu comentario