Adicionando uma página de administrador personalizada


12

Quero adicionar uma página de conteúdo (um arquivo leia-me) ao administrador do WordPress. Não consigo encontrar como fazer isso no codex - alguém pode me indicar a direção certa? Será literalmente apenas uma página simples com alguns parágrafos de conteúdo.

Respostas:


18

Você precisa de apenas duas etapas:

  1. Conecte-se à ação admin_menu, registre a página com uma função de retorno de chamada para imprimir o conteúdo.
  2. Na sua função de retorno de chamada, carregue o arquivo de plugin_dir_path( __FILE__ ) . "included.html".

Código de demonstração:

add_action( 'admin_menu', 'wpse_91693_register' );

function wpse_91693_register()
{
    add_menu_page(
        'Include Text',     // page title
        'Include Text',     // menu title
        'manage_options',   // capability
        'include-text',     // menu slug
        'wpse_91693_render' // callback function
    );
}
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'>Included from <code>$file</code></p>";

    print '</div>';
}

Adicionei um exemplo ao meu plugin demo T5 Admin Menu Demo para mostrar como fazer isso em um submenu e no estilo OOP.


Apenas tentei isso e parece incrível, mas há alguma maneira de tê-lo no submenu do meu tipo de postagem personalizado? ao contrário de ser um menu para si.
usar o seguinte comando

Eu tentei 'show_in_menu' no tipo de postagem personalizada, mas ele tem um menu que não mostra a página e também não mostra "adicionar novo" para o tipo de postagem personalizada.
usar o seguinte comando

Resolvido! para qualquer outra pessoa, tente add_submenu_page e adicione o parâmetro extra para slug pai, conforme descrito aqui: codex.wordpress.org/Function_Reference/add_submenu_page
user319940
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.