Cómo agregar enlaces personalizados como submenús en los menús de wp-admin

9 may 2017, 03:39:40
Vistas: 18.9K
Votos: 5

¿Es posible agregar enlaces personalizados como submenús en menús que ya existen en wp-admin? Por ejemplo, bajo la sección de apariencia como este: Ejemplo de submenú personalizado en el área de administración de WordPress

0
Todas las respuestas a la pregunta 1
4
12

Para agregar un enlace personalizado en el menú de administración, debes seleccionar un elemento del menú principal por su slug y registrar la función usando el gancho de acción admin_menu.

Aquí tienes la lista de slugs del Menú Principal de Administración.

index.php => Escritorio
edit.php => Entradas
upload.php => Medios
link-manager.php => Enlaces
edit.php?post_type=page => Páginas
edit-comments.php => Comentarios
themes.php => Apariencia  
plugins.php => Plugins
users.php => Usuarios
tools.php => Herramientas
options-general.php => Ajustes

Lista de todos los nombres de menús y submenús de administración, claves y slugs. Fuente de la imagen

Lista de menús de administración de WordPress

Si quieres usar un enlace externo, el código es:

add_action('admin_menu', 'add_custom_link_into_appearance_menu');
function add_custom_link_into_appearance_menu() {
    global $submenu;
    $permalink = 'http://www.customlink.com';
    $submenu['themes.php'][] = array( 'Enlace Personalizado', 'manage_options', $permalink );
}

Si prefieres renderizar la página del enlace personalizado usando las funciones de Menús de Administración de WordPress, el código sería:

add_action('admin_menu', 'add_custom_link_into_appearance_menu');
function add_custom_link_into_appearance_menu() {
    add_theme_page('Título de la Página Personalizada', 'Título del Menú Personalizado', 'manage_options', 'identificador-unico-del-enlace', 'render_custom_link_page');
}

function render_custom_link_page() {
    echo 'Página de Enlace Personalizado';
}
9 may 2017 04:09:06
Comentarios

¡Muchas gracias por una respuesta tan detallada! Realmente ayuda mucho. ¡Gracias!

Archangel17 Archangel17
9 may 2017 05:29:33

@archangel17 Genial... Me alegra que esto haya sido de ayuda.

Syed Fakhar Abbas Syed Fakhar Abbas
9 may 2017 05:47:50

El Método 1 funcionó bien para mi tipo de entrada personalizada. ¡Gracias!

Andrew Magill Andrew Magill
25 jul 2018 18:52:48

Gracias @SyedFakharAbbas. La primera opción también funcionó para mí. Quería añadir las pestañas de mi página de opciones como elementos del submenú. El único problema que tengo es añadir la clase current a los enlaces del submenú. ¿Sabes cómo puedo hacer esto?

Michael Michael
25 ene 2021 20:58:16