Eliminar "entradas" del administrador pero mostrar una entrada personalizada

5 jul 2012, 03:02:48
Vistas: 16.8K
Votos: 8

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.

0
Todas las respuestas a la pregunta 2
6
11

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?

5 jul 2012 03:54:48
Comentarios

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

brasofilo brasofilo
5 jul 2012 03:59:43

¡Funciona! ¡Genial! ¡Gracias por mostrar cómo podría haber buscado!

Alisso Alisso
5 jul 2012 04:16:26

¿Puedo elegir dos respuestas correctas?

Alisso Alisso
5 jul 2012 04:16:55

@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. :)

its_me its_me
5 jul 2012 07:14:40

Esta función no elimina nada, simplemente lo oculta.

User User
15 oct 2015 06:49:45

@Piet, el OP titula la pregunta como "eliminar", termina preguntando sobre "ocultar", pero nada de esto es sobre "bloquear" el acceso, agregaré una referencia para que sea completo.

brasofilo brasofilo
15 oct 2015 07:10:54
Mostrar los 1 comentarios restantes
0

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.

5 jul 2012 03:51:49