Cuando entregas una nueva web creada con WordPress son muchas las ocasiones en que dejas preparadas una serie de páginas base, normalmente con la información de la empresa, mapas de ubicación, árbol con el mapa del sitio y esas cosas que suelen pedir los clientes, muchas veces con códigos sensibles que cualquier edición posterior podría echarlos a perder.
¿A que preferirías que nadie sintiese la tentación de modificarlas?
Un modo habitual de evitar que el cliente torpe toque lo que no debe es crearle un perfil mediante el que no pueda modificar ni crear páginas, pero en la mayoría de las ocasiones es una decisión demasiado restrictiva, que no suele gustar a los clientes, así que hay que buscar algo más «controlado«.
Y una solución perfecta es algo tan simple como eliminar de la lista de administración de entradas del escritorio de WordPress aquellas que no queramos que vean y, en consecuencia, modifiquen.
Para ello solo tienes que añadir una función en tu plugin de utilidades, en el que determinarás que ID de páginas no serán visibles, algo así:
//Páginas ocultas de la administración - Elige los IDs de página que no se mostrarán add_action( 'pre_get_posts' ,'oculta_esta_pagina' ); function oculta_esta_pagina( $query ) { if( !is_admin() ) return $query; global $pagenow; if( 'edit.php' == $pagenow && ( get_query_var('post_type') && 'page' == get_query_var('post_type') ) ) $query->set( 'post__not_in', array(8,11,35,66) ); // id de páginas return $query; }
Simplemente cambia los números de ID en el array
para que no aparezcan las que tu decidas.
La única pega de este truco es que no evita que se edite la página si el usuario conoce el enlace directo o, simplemente, accede al menú de la barra de WordPress de «Editar página«, pero es un quitamanías bastante eficaz en la mayoría de los casos. Además, que siempre puedes quitar la barra de administración de WordPress.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
¿No existe algo parecido a esto que te permita ocultar, marcando alguna opción o mediante un campo personalizado en la entrada, y que no se muestre en la lista de noticias?
Puede ser útil para tener ciertas entradas «privadas», es decir, que solo las vea la persona que la ha escrito y los administradores / editores (o quien elijas), pero no todos los colaboradores.
Ya me gustaría a mi poder hacer eso… xD