As páginas de administração são o coração e a alma dos plugins.
É fácil supor que sejam monstros complexos preenchidos com forma, cujo único objetivo é coletar dados do usuário. A verdade é que as páginas de administração fornecem um local familiar para receber novos usuários, fornecer informações e exibir detalhes de suporte e documentação.
Neste pequeno tutorial, veremos os conceitos básicos de como adicionar essas páginas ao backend do WordPress. Você pode então combinar esse conhecimento com outros tutoriais para criar páginas com abas, funcionalidades AJAX, sobreposições e muito mais.
Os componentes de uma página de administração
Existem dois ou três componentes para uma página de administração, dependendo da funcionalidade que você está criando:
- Uma entrada de menu – nível superior ou sub-nível
- O conteúdo da página
- Lógica de processamento de formulários – se necessário
Para os propósitos deste tutorial, não estaremos olhando formas e processamento de formulários, deixaremos isso para outro dia. Agora, o que nos preocuparemos é como colocar as próprias páginas.
Menus de nível superior e sub-nível
Existem dois tipos de entradas de menu: nível superior e sub-nível. Eu recomendo – assim como o WordPress Codex – que você pensa sobre se seu plugin realmente precisa de uma entrada de menu de nível superior. Muitos plugins adicionam entradas de nível superior, que acabam poluindo fortemente o administrador.
Um exemplo é o WordTwit , que tweets novos conteúdos . É um ótimo plugin, mas adiciona uma entrada de nível superior desnecessariamente.
Isso é completamente desnecessário, uma entrada na seção de configurações faria bem. Alguns plugins como WooCommerce, bbPress e outros adicionam itens de nível superior de forma válida; Depende realmente de como os usuários interagem com o seu produto.
Uma boa regra é: se os usuários precisam interagir com o seu plugin diariamente, você pode usar uma entrada de nível superior. Se a sua página de administrador for apenas para configurações, uma entrada de sub-nível no menu de nível superior das Configurações é mais apropriada.
Criando uma página de administrador de nível superior
O primeiro passo é criar uma entrada de menu com a add_menu_page()
função. Aqui está um exemplo completo, a explicação segue:
Add_action (‘admin_menu’, ‘my_admin_menu’); | |
Function my_admin_menu () { | |
Add_menu_page (‘My Top Level Menu Example’, ‘Top Level Menu’, ‘manage_options’, ‘myplugin / myplugin-admin-page.php’, ‘myplguin_admin_page’, ‘dashicons-tickets’, 6); | |
} |
A função possui sete argumentos. O primeiro é o título da página, que define a etiqueta do título ; É mostrado no título da guia, não na tela.
O segundo argumento é o título que aparece no menu.
O argumento três é a capacidade necessária para acessar o menu. Isso pode ser usado para restringi-lo apenas a administradores, editores ou autores.
O argumento quatro é o slug do menu, que é essencialmente usado como URL da página.
O argumento cinco é a função, que irá lidar com o conteúdo da página.
O próximo argumento é o ícone url. Isso pode aceitar uma série de formatos. Se um URL para uma imagem for dado, a imagem será usada. Você também pode usar Dashicons , que são incorporados no WordPress, ou mesmo SVG.
O último argumento define onde o menu será colocado. O argumento cinco indicou as postagens, então eu usei seis para colocar esta entrada de menu logo abaixo. Dê uma olhada no Codex para ver exatamente o número a ser utilizado para a posição desejada.
O próximo passo é criar algum conteúdo. Tudo o que você precisa fazer é criar a função definida no argumento cinco e fazer eco de algum conteúdo. Aqui é um exemplo muito simples com o qual você pode começar:
Function myplguin_admin_page () { | |
?> | |
< Div class = “ wrap “ > | |
< H2 > Bem-vindo ao meu plug-in </ h2 > | |
</ Div > | |
<? Php | |
} |
Criando uma Página de Administração de Sub-Nível
Existem algumas funções que você pode usar para adicionar páginas de sub-nível. O geral add_submenu_page()
permitirá que você coloque entradas de sub-nível em qualquer lugar, mas todas as páginas de nível superior incorporadas possuem suas próprias funções:
- Para adicionar um item de menu sob o uso de postagens
add_posts_page
- Para adicionar um item de menu em páginas, use
add_pages_page
- Para adicionar um item de menu sob o uso da mídia
add_media_page
- Para adicionar um item de menu sob o uso de links
add_links_page
- Para adicionar um item de menu sob uso de comentários
add_comments_page
- Para adicionar um item de menu sob o uso da aparência
add_theme_page
- Para adicionar um item de menu sob o uso de plugins
add_plugin_page
- Para adicionar um item de menu sob o uso dos usuários
add_users_page
- Para adicionar um item de menu sob o uso de ferramentas
add_management_page
- Para adicionar um item de menu em configurações, use
add_options_page
Cada uma destas funções seguem o mesmo formato: add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $function);
. Os argumentos devem ser familiares do nosso exemplo de nível superior acima.
Você pode querer adicionar um menu de sub-nível ao seu nível superior, caso em que esta função específica não será de grande utilidade para você. Você precisará usar add_submenu_page()
. Vamos usar essa função para adicionar uma entrada no nível superior criado acima:
Add_action (‘admin_menu’, ‘my_admin_menu’); | |
Function my_admin_menu () { | |
Add_menu_page (‘My Top Level Menu Example’, ‘Top Level Menu’, ‘manage_options’, ‘myplugin / myplugin-admin-page.php’, ‘myplguin_admin_page’, ‘dashicons-tickets’, 6); | |
Add_submenu_page (‘myplugin / myplugin-admin-page.php’, ‘My Sub Level Menu Example’, ‘Sub Level Menu’, ‘manage_options’, ‘myplugin / myplugin-admin-sub-page.php’, ‘myplguin_admin_sub_page’) ; | |
} |
Como você pode ver, esta função é quase idêntica às funções específicas acima, exceto para o primeiro argumento que especifica a lesma do elemento pai. No nosso caso, isso é myplugin/myplugin-admin-page.php
.
Conclusão
Como você pode ver, adicionar entradas de menu e exibir conteúdo é bastante fácil. A dificuldade começa quando isso foi feito. O que colocar na página, como organizá-lo, usando Javascript e CSS para tornar a apresentação excelente, certificando-se de que os formulários são seguros e validados, etc. Essas são coisas que vamos dar uma olhada em futuros tutoriais.
O objetivo deste artigo é dar-lhe uma compreensão dos conceitos básicos de menu e criação de página de administração para que você possa voltar a ele quando necessário. Espero que agora você possa criar páginas para seus produtos. Em breve, abordaremos casos específicos de uso em outro artigo.
Existem casos de uso específicos que você gostaria de juntar? Deixe-nos saber nos comentários abaixo.