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 ); } }
¿Cómo hacerlo con plugin y sin tocar código?
Para los que desconocemos completamente?
Muchas gracias. Funciona perfectamente, ha sido de mucha utilidad.
Gracias, Cristian. Funciona correctamente!!!