Agregar una página personalizada en el panel de administración

21 mar 2013, 01:55:10
Vistas: 46.4K
Votos: 20

Quiero agregar una página de contenido (un archivo readme) en el panel de administración de WordPress, no puedo encontrar cómo hacer esto en el codex - ¿alguien puede indicarme la dirección correcta? Será literalmente una página simple con algunos párrafos de contenido.

0
Todas las respuestas a la pregunta 1
3
29

Solo necesitas dos pasos:

  1. Conectarte al action admin_menu, registrar la página con una función callback para imprimir el contenido.
  2. En tu función callback cargar el archivo desde plugin_dir_path( __FILE__ ) . "included.html".

Código de demostración:

add_action( 'admin_menu', 'wpse_91693_register' );

function wpse_91693_register()
{
    add_menu_page(
        'Include Text',     // título de la página
        'Include Text',     // título del menú
        'manage_options',   // capacidad requerida
        'include-text',     // slug del menú
        'wpse_91693_render' // función callback
    );
}
function wpse_91693_render()
{
    global $title;

    print '<div class="wrap">';
    print "<h1>$title</h1>";

    $file = plugin_dir_path( __FILE__ ) . "included.html";

    if ( file_exists( $file ) )
        require $file;

    print "<p class='description'>Incluido desde <code>$file</code></p>";

    print '</div>';
}

He añadido un ejemplo a mi plugin de demostración T5 Admin Menu Demo para mostrar cómo hacer esto en un submenú y con estilo OOP.

21 mar 2013 02:16:55
Comentarios

Acabo de probar esto y se ve increíble, pero ¿hay alguna manera de tener esto en el submenú de mi tipo de publicación personalizada? En lugar de que sea un menú por sí mismo.

user319940 user319940
21 mar 2013 15:07:46

He probado 'show_in_menu' en el tipo de publicación personalizada, pero esto muestra un menú que no muestra la página y tampoco muestra "añadir nuevo" para el tipo de publicación personalizada.

user319940 user319940
21 mar 2013 15:20:11

¡Resuelto! Para cualquiera que tenga el mismo problema, prueben con add_submenu_page y solo agreguen el parámetro adicional para el slug padre, como se describe aquí: http://codex.wordpress.org/Function_Reference/add_submenu_page

user319940 user319940
21 mar 2013 15:27:16