Ir ao conteúdo

8 de abril de 2009

4

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…

4 Comentários Enviar um comentário
  1. Henrich
    abr 22 2009

    Ahhhh Sooooh (y)
    :D

    Responder
  2. jun 16 2009

    Hi! I like your srticle and I would like very much to read some more information on this issue. Will you post some more?

    Responder
  3. jul 6 2009

    I’m glad that after surfing the web for uch a long time I have found out this information. I’m really lucky.

    Responder
  4. Andrews Lince
    mai 3 2011

    Olá, Daniel!

    Parabéns pelo post e pelo blog, cara! Só senti falta de uma coisa: Como faço pra criar um hook que dê um drop nas tabelas quando o plugin for desinstalado?

    Responder

Compartilhe seus pensamentos! Envie um comentário.

(required)
(required)

Nota: HTML é permitido. Seu email nunca será publicado.

Inscrever-se nos comentários