Eliminar "entradas" del administrador pero mostrar una entrada personalizada
Después de revisar:
http://codex.wordpress.org/Function_Reference/remove_menu_page,
logré usar el siguiente código para ocultar algunos elementos del menú:
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
remove_menu_page('link-manager.php'); // Elimina el administrador de enlaces
remove_menu_page('tools.php'); // Elimina el menú de herramientas
remove_menu_page('users.php'); // Elimina el menú de usuarios
remove_menu_page('edit-comments.php'); // Elimina el menú de comentarios
}
Sin embargo, tanto la "página de entradas" como una página de tipos de entradas personalizadas parecen ejecutarse en /wp-admin/edit.php
.
Así que busco una manera de ocultar la barra de menú de entradas pero seguir mostrando el menú para un tipo de entrada personalizada que he añadido.
Al realizar esta búsqueda, encontré esta excelente respuesta de Chris_O. Incluso hay una solución con jQuery que propuse allí.
De todos modos, la función remove_menu_page('edit.php');
solo elimina el menú de Entradas.
Pero, como aprendemos de la respuesta de Chris, remove_menu_page('edit.php?post_type=athletes');
elimina el menú del Tipo de Entrada Personalizado.
Para realmente bloquear el acceso a la URL, ya que solo estamos ocultando el elemento del menú, consulta la siguiente Q&A: ¿Bloquear el acceso administrativo a autores y suscriptores?

Por supuesto, athletes
es el nombre de mi Tipo de Entrada Personalizado... Ajusta según sea necesario.

@Alisso No. Solo puedes elegir uno. Dado que ambos muestran la misma solución en parte, quizás quieras elegir el que tenga todos (o la mayoría) de los detalles necesarios que necesitas. :)

Acabo de intentarlo y remove_menu_page('edit.php');
solo elimina el menú principal de Entradas.
Todos mis otros tipos de contenido personalizados (y tengo muchos) siguen funcionando bien. Tengo la sensación de que esto se debe a que hace una búsqueda directa del slug exacto, no del nombre base del archivo.
