Ir ao conteúdo

Archivo de abril, 2009

8
abr

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:

resultado-menu

É isso pessoal.

Postem suas dúvidas…

abs.

8
abr

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.

resultado-install

É 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…