Como criar um plugin para wordpress – Parte 3
Adicionando menus e submenus
Vamos então adicionar os menus e submenus na administração do nosso plugin.
De início, crie os arquivos dentro da pasta do plugin:
- daniel-developer-plugin-manager.php
- daniel-developer-plugin-config.php
Agora, segue abaixo o código para que a “mágica” da criação de menus seja criada.
/**
* Esta função adiciona menus e submenus na administração do seu plugin
*
* @return void
*/
function daniel_developer_plugin_menu()
{
if( function_exists('add_menu_page') ):
/*add_menu_page( Título da página, Título do menu, Nível de acesso, Arquivo); */
add_menu_page('Daniel Developer','Daniel Developer', 7, 'daniel-developer-plugin/daniel-developer-plugin-manager.php');
endif;
if ( function_exists('add_submenu_page') ) :
/*add_submenu_page(arquivo de menu pai, título da página, título do menu, nível de acesso, arquivo); */
add_submenu_page('daniel-developer-plugin/daniel-developer-plugin-manager.php', 'Gerenciar', 'Gerenciar', 7, 'daniel-developer-plugin/daniel-developer-plugin-manager.php');
add_submenu_page('daniel-developer-plugin/daniel-developer-plugin-manager.php', 'Configurações','Configurações', 7, 'daniel-developer-plugin/daniel-developer-plugin-config.php');
endif;
}
Agora insira o hook de adminstração dos menus e tudo funcionará perfeitamente.
add_action('admin_menu','daniel_developer_plugin_menu');
Se tudo ok, então o menu ficrá assim:

É isso pessoal.
Postem suas dúvidas…
abs.
Como criar um plugin para wordpress – Parte 2
Instalando seu plugin
Como disse no artigo anterior, vamos agora criar uma função de instalação para o plugin, para que todas vez que ele for ativado ela execute.
Segue o código abaixo e também os comentários inline.
/**
* Esta função de instalação cria a tabela no banco de dados, e pode ser implementado
* também outras a ela, para que seja sempre executado ao se instalar o plugin
*
* @global $wpdb Database Object
*/
function daniel_developer_plugin_install()
{
global $wpdb;
/**
* Versão da estrutura da tabela
*/
$intDBVersion = '0.1';
/**
* Neste arquivo está a função dbDelta, e ela não é inicializada por padrão
*/
require_once ABSPATH . 'wp-admin/upgrade-functions.php';
// Cria a tabela daniel_developer_agenda
$sql = "CREATE TABLE " . $wpdb->prefix . 'daniel_developer_agenda' . " (
agenda_id INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
agenda_nome VARCHAR( 50 ) NOT NULL,
agenda_telefone VARCHAR( 10 ) NOT NULL
) ENGINE = MYISAM COMMENT = 'Tabela usada pelo plugin Daniel Developer Plugin';
";
/**
* Esta função examina a estrutura da tabela, compara a estrutura e adiciona ou modifica a tabela se necesário
*/
dbDelta($sql);
/**
* Grava a versao da estrutura da tabela
*/
add_option('intDBVersion', $intDBVersion);
}
Agora, temos que chamar o Hook de ativação, para que a função seja executada e que o wordpress a interprete como instalação.
Segue o código abaixo.
add_action('activate_daniel-developer-plugin/daniel-developer-plugin.php', 'daniel_developer_plugin_install');
Se tudo ocorreu bem, a tabela ficará assim no banco de dados.

É isso pessoal, qualquer coisa, postem suas dúvidas.
E para a próxima etapa vou mostar como se criar menus e submenus para a administração do seu plugin.
Abs…


