Do zero: Guia completo de introdução ao desenvolvimento de plugins do WordPress e tutorial prático

Leitura de 3 minutos
2026-03-20
2026-06-03
2,082
Eu recebo uma comissão quando você faz compras através dos links abaixo, sem custo adicional para você.

Preparação e configuração do ambiente

Antes de desenvolver um plugin para o WordPress, é essencial criar um ambiente de desenvolvimento local estável. Isso permitirá que você faça testes e depurações sem afetar o site online.

Escolha e configuração do ambiente de desenvolvimento local

O passo mais crucial é montar um servidor local que integre PHP, MySQL e Apache/Nginx. Você pode escolher…MAMPXAMPPTais pacotes de software integrados oferecem métodos de instalação simplificados para Windows e macOS. Para usuários mais avançados, é possível utilizar…DockerContainerizar seu ambiente de desenvolvimento é a melhor prática atual, pois garante a consistência do ambiente e facilita sua replicação. Independentemente do método escolhido, confira se a versão do PHP que você está utilizando é compatível com a versão principal esperada pelos plugins (por exemplo, PHP 7.4 ou superior), e ative as extensões necessárias, como MySQLi ou PDO.

Instalar e configurar o WordPress

Após a configuração do ambiente no servidor local, você precisará instalar o núcleo do WordPress. Baixe a versão mais recente e estável do site oficial do WordPress (WordPress.org), descompacte o arquivo no diretório raiz da web do seu servidor (por exemplo, `/www/`).htdocsouwwwO plugin deve ser colocado em uma pasta dentro da pasta especificada. Em seguida, acesse essa pasta através de um navegador e siga os passos conhecidos do “instalamento em cinco minutos” para concluir a configuração. É recomendável criar um banco de dados exclusivo para o desenvolvimento de plugins, e anote o nome do banco de dados, o nome de usuário e a senha. Após a instalação, entre no painel administrativo do WordPress e altere a estrutura dos links fixos para um formato diferente do padrão (por exemplo, “nome do artigo”), o que ajudará a testar a compatibilidade do plugin com os links permanentes.

Leitura recomendada Introdução ao desenvolvimento de temas do WordPress: construa o seu primeiro tema personalizado do zero.

Recomendações de ferramentas essenciais para desenvolvimento

O desenvolvimento eficiente não pode prescindir de ferramentas adequadas. Primeiramente, você precisa de um editor de código, como um que seja gratuito e possua funcionalidades avançadas.Visual Studio CodeInstale os plugins adequados para PHP, WordPress e reconhecimento inteligente de código. Ferramentas de controle de versão também são necessárias.GitÉ um elemento essencial para gerenciar alterações no código e rastrear o histórico de desenvolvimento. As ferramentas de desenvolvimento do navegador (Chrome DevTools ou Firefox Developer Edition) são cruciais para a depuração do código front-end. Por fim, considere instalar uma ferramenta de verificação da qualidade do código.PHP_CodeSnifferCombinaçãoWordPress-Coding-StandardsUm conjunto de regras pode ajudá-lo a seguir os padrões de codificação oficiais do WordPress.

Hospedagem para sites WordPress da UltraHost
Garantia de reembolso em 30 dias, largura de banda ilimitada e banco de dados, proteção contra DDoS gratuita; desconto de 50% na compra de 3 anos (planos de 4 TB a 10 TB).

Estrutura Básica dos Plugins e Arquivos Centrais

Um plugin padrão do WordPress possui uma estrutura de diretórios e arquivos específica. Seguir essas normas é fundamental para que o plugin seja reconhecido pelo sistema e gerido de forma eficaz.

A composição básica do arquivo principal e sua função

Cada plugin deve ter um arquivo PHP principal, que serve como ponto de entrada para o plugin. As notas de cabeça deste arquivo contêm os metadados do plugin, e são essenciais para que o WordPress o reconheça. Aqui está um exemplo de um arquivo principal de plugin muito básico:my-first-plugin.phpExemplo:

<?php
/**
 * Plugin Name:       我的首个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于演示的WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

// 防止直接文件访问
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

Plugin NameÉ o único campo necessário, usado para ser exibido na lista de plugins no backend. É recomendável defini-lo.ABSPATHVerifique para impedir que usuários maliciosos acessem diretamente os arquivos principais do plugin.

Adicionar código funcional essencial para o plugin.

Após a adição das notas de cabeça, você pode começar a escrever o código funcional do plugin. O exemplo mais simples é adicionar uma mensagem “Hello World” na área de administração do sistema. Você pode usar…add_actionO “gancho” (hook) permite que uma função personalizada seja acionada em um ponto específico de execução do WordPress.

Leitura recomendada Do zero: um guia completo e um tutorial prático para o desenvolvimento de plugins do WordPress.

/**
 * 在管理后台顶部显示欢迎信息
 */
function myfp_display_admin_notice() {
    echo '<div class="notice notice-success is-dismissible"><p>Bem-vindo(a) ao uso do “Meu Primeiro Plugin”!</p></div>';
}
add_action( 'admin_notices', 'myfp_display_admin_notice' );

Para manter a organização do código e evitar conflitos de nomes, todos os nomes de funções e classes devem usar um prefixo único, como neste exemplo.myfp_(A abreviação de “My First Plugin”).

Padrões de organização do diretório de plugins e dos arquivos de recursos

Um plugin com funcionalidades um pouco mais complexas geralmente contém vários arquivos. Uma estrutura de diretórios bem organizada pode melhorar significativamente a manutenibilidade do código. As formas comuns de organização são as seguintes:
- /assets/Armazena recursos estáticos como CSS, JavaScript, imagens e fontes.
- /includes/Armazena os arquivos das classes PHP centrais e os arquivos das funções funcionais.
- /admin/Armazena arquivos PHP, CSS e JS relacionados exclusivamente ao backend do administrador.
- /public/Armazena arquivos relacionados à parte frontal (front-end) do site.
- /languages/Armazena arquivos de tradução internacional (.po, .mo).

Lembre-se sempre de que o arquivo principal do plugin está localizado no diretório raiz do plugin. Ao referenciar arquivos de recursos no código, você deve usar…plugin_dir_url( FILE )ouplugin_dir_path( FILE )Obtenha dinamicamente o URL ou o caminho do servidor correto.

hospedagem compartilhada da hosting.com
Alto desempenho com CPUs AMD EPYC, armazenamento SSD NVMe e LiteSpeed, suporte interno especializado 24 horas por dia, 7 dias por semana, medidas de segurança avançadas, incluindo SSL, força bruta, malware e proteção contra DDoS, economia de até 73%

Mecanismo de ganchos (hook) interage com a API principal

A essência do desenvolvimento de plugins para o WordPress reside no seu mecanismo de “ganchos” (Hooks), que permite que o seu código seja inserido e executado em momentos específicos do core, dos temas ou de outros plugins.

Compreender os ganchos de ação e os ganchos de filtro.

Os ganchos (hooks) são divididos em duas grandes categorias: Ações (Action) e Filtros (Filter). Os ganchos de ação são usados para executar o seu código quando um evento específico ocorre, por exemplo, após a publicação de um artigo ou antes da carga de uma página. Eles não retornam nenhum valor; simplesmente “fazem” algo. A função central utilizada para isso é…add_action()edo_action()Os ganchos (hooks) dos filtros são usados para modificar os dados. Antes que os dados sejam utilizados, salvos ou exibidos, você pode interceptá-los e alterá-los. Eles devem retornar um valor. A função central utilizada para isso é…add_filter()eapply_filters()

Montar funcionalidades personalizadas em ganchos padrão

O núcleo do WordPress disponibiliza centenas de ganchos (hooks) padrão. Por exemplo, é possível adicionar automaticamente uma declaração de direitos autorais no final do conteúdo de um artigo, o que envolve o uso tanto de ações (actions) quanto de filtros (filters).

Leitura recomendada Desenvolvimento de plugins para WordPress: Do básico ao avançado: Um guia passo a passo para criar funcionalidades personalizadas

// 使用过滤器修改文章内容
function myfp_add_copyright_to_content( $content ) {
    if ( is_single() ) {
        $copyright_text = '<p><em>Por favor, indique a fonte ao reproduzir este conteúdo.</em></p>';
        $content .= $copyright_text;
    }
    return $content;
}
add_filter( 'the_content', 'myfp_add_copyright_to_content' );

// 使用动作在文章保存时执行操作
function myfp_log_post_publish( $post_id ) {
    // 记录日志或执行其他后处理
    error_log( "文章 ID {$post_id} 已发布。" );
}
add_action( 'publish_post', 'myfp_log_post_publish' );

Criar e fornecer ganchos (hooks) personalizados para expansão.

Um plugin bem projetado também deve permitir que outros desenvolvedores o expandam. Isso pode ser feito criando seus próprios ganchos (hooks) personalizados. Isso não só reflete a abertura da arquitetura do plugin, mas também segue a filosofia do próprio WordPress.

// 定义一个自定义动作钩子
function myfp_process_data() {
    $data = '一些初始数据';
    // 其他开发者可以通过 ‘myfp_before_action’ 在此处插入代码
    do_action( 'myfp_before_action', $data );

// 插件的主要处理逻辑...

// 其他开发者可以通过 ‘myfp_after_action’ 在此处插入代码
    do_action( 'myfp_after_action', $data );
}

// 定义一个自定义过滤器钩子
function myfp_get_output() {
    $output = '默认输出';
    // 允许其他开发者过滤最终的输出
    return apply_filters( 'myfp_filter_output', $output );
}

Criar uma interface de gerenciamento de plugins e opções de configuração.

A maioria dos plugins requer uma interface de administração para que o usuário possa fazer configurações. O WordPress disponibiliza várias APIs para ajudar você a criar páginas de configurações e opções padrão de forma rápida e segura.

Hospedagem Compartilhada InterServer
Hospedagem compartilhada $2.50 USD por mês, primeiro mês $0.1 USD código promocional tryinterserver, 461 scripts de aplicativos em nuvem, instalação com um clique.

Utilize a API de configurações para gerenciar as opções de segurança.

O API de configurações do WordPress é uma estrutura de segurança para o processamento de formulários, validação, armazenamento e exibição de dados de opções. Ele lida automaticamente com campos de segurança do tipo “nonce” e verificações de permissões. Os passos básicos para criar uma página de configurações incluem: 1) registrar as configurações, 2) adicionar blocos de configurações e 3) adicionar campos. O código abaixo demonstra como registrar uma configuração simples:

function myfp_register_settings() {
    register_setting(
        'myfp_settings_group', // 选项组名
        'myfp_option_name',    // 选项名(存储在wp_options表中)
        array( 'sanitize_callback' => 'myfp_sanitize_callback' ) // 消毒回调函数
    );

add_settings_section(
        'myfp_settings_section', // 区块ID
        '基本设置',               // 区块标题
        'myfp_section_callback', // 区块回调函数(可输出描述)
        'myfp-settings-page'     // 设置页面Slug
    );

add_settings_field(
        'myfp_text_field',      // 字段ID
        '示例文本输入',         // 字段标签
        'myfp_text_field_callback', // 字段回调函数(输出HTML表单域)
        'myfp-settings-page',   // 页面Slug
        'myfp_settings_section' // 所属区块ID
    );
}
add_action( 'admin_init', 'myfp_register_settings' );

Criar páginas de menus e submenus em diferentes locais.

Você precisa adicionar o link para a página de configurações ao menu de administração do WordPress. Para fazer isso, siga os passos abaixo:add_menu_page()É possível criar um menu principal (top-level menu) e usá-lo.add_submenu_page()É possível criar submenus.

function myfp_add_admin_menu() {
    // 添加顶级菜单
    add_menu_page(
        '我的插件设置',        // 页面标题
        '我的插件',            // 菜单标题
        'manage_options',     // 权限能力
        'myfp-settings-page', // 菜单Slug
        'myfp_render_settings_page', // 渲染页面的回调函数
        'dashicons-admin-generic', // 图标(可选)
        80                    // 菜单位置
    );

// 添加子菜单(指向同一个页面,但菜单标题不同)
    add_submenu_page(
        'myfp-settings-page', // 父菜单Slug
        '关于此插件',         // 页面标题
        '关于',              // 菜单标题
        'manage_options',    // 权限能力
        'myfp-about-page',   // 菜单Slug
        'myfp_render_about_page' // 渲染回调
    );
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );

Função de callback para renderizar a página de configurações personalizadas

myfp_render_settings_pageA função de callback é responsável por gerar a estrutura HTML da página de configurações. Nessa função, você precisa fazer a chamada para…settings_fields()edo_settings_sections()Exiba os campos registrados pelo API Settings.

function myfp_render_settings_page() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <form action="/pt/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            settings_fields( 'myfp_settings_group' );
            do_settings_sections( 'myfp-settings-page' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="pt"/></form>
    </div>
    &lt;?php
}

resumos

O desenvolvimento de plugins para o WordPress é um processo que transforma ideias em funcionalidades reais. O sucesso desse processo depende de uma compreensão clara da estrutura básica do sistema, do domínio do uso dos mecanismos de interação (como os “hooks”), e de uma atenção contínua à segurança e à experiência do usuário. Desde a criação do ambiente de desenvolvimento e a escrita dos arquivos principais, passando pela integração avançada com o WordPress através de ações (actions) e filtros (filters), até a construção de interfaces de gerenciamento profissionais utilizando APIs, cada etapa segue normas e melhores práticas estabelecidas. O ponto-chave é manter o código modular, legível e extensível; usar prefixos únicos para evitar conflitos; e sempre priorizar a segurança. Através do estudo e da prática deste guia, você adquiriu a capacidade de criar plugins para o WordPress completos e em conformidade com os padrões, partindo do zero.

Perguntas frequentes Perguntas frequentes

Que conhecimentos de programação são necessários para desenvolver um plugin para o WordPress com o nome ###?
Para desenvolver plugins para o WordPress, é necessário ter conhecimentos básicos da linguagem de programação PHP, incluindo sua sintaxe, funções, arrays e conceitos de programação orientada a objetos. Além disso, um entendimento básico das tecnologias front-end HTML, CSS e JavaScript é muito útil para a criação de plugins com interfaces de usuário. Ter familiaridade com as operações básicas do banco de dados MySQL também é vantajoso, uma vez que o WordPress depende fortemente de bancos de dados para o funcionamento correto de seus plugins.

Como depurar um plugin do WordPress que está em desenvolvimento?

Existem várias maneiras de depurar plugins. Primeiramente,wp-config.phpO ficheiro foi aberto.WP_DEBUGeWP_DEBUG_LOGIsso registrará os erros e avisos do PHP em um arquivo específico./wp-content/debug.logO conteúdo do arquivo não é exibido para o usuário final (front-end). Em segundo lugar, use as ferramentas de desenvolvimento do navegador (como o Chrome DevTools) para depurar o JavaScript e as solicitações de rede. Para lógicas mais complexas, é possível utilizar…var_dump()ouerror_log()A função exibe o valor da variável no log ou na página. Além disso, a instalação de um depurador PHP profissional, como o Xdebug, e sua integração com o seu editor de código permitem a utilização de pontos de interrupção para o depuramento, o que representa o método mais eficiente de diagnóstico de erros.

Como meu plugin pode ser internacionalizado para suportar vários idiomas?

Para implementar a internacionalização (i18n) no WordPress, é necessário utilizar os recursos e ferramentas fornecidos pelo próprio sistema.__()_e()_x()Funções de tradução, como `translate()`. No código do plugin, envolva todas as strings que precisam ser traduzidas nessas funções e especifique o “domínio de texto” (Text Domain), que é definido nas notas de cabeça do plugin.Text DomainEm seguida, use uma ferramenta como o Poedit para analisar o código-fonte do plugin e gerar o necessário..potArquivos de modelo; os tradutores utilizam esses arquivos para criar versões em diferentes idiomas..poE o compilado.moArquivos. Por fim, coloque esses arquivos de tradução no plugin./languages/No diretório, e use-o durante a inicialização do plugin.load_plugin_textdomain()As funções as carregam.

Como posso publicar meu plugin gratuitamente no diretório oficial de plugins do WordPress?

Para publicar um plugin no diretório oficial, é necessário atender a uma série de requisitos. Primeiro, confira se o seu plugin está em total conformidade com a licença GPL v2 ou uma versão mais recente. Em seguida, assegure-se da qualidade e segurança do código, seguindo os padrões de codificação do WordPress. Depois, crie uma conta no WordPress.org e envie o plugin na seção destinada aos desenvolvedores. Antes de enviar, verifique se o plugin possui uma documentação detalhada e bem formatada.readme.txtO arquivo foi criado utilizando um formato Markdown específico e a internacionalização foi configurada corretamente. Após a submissão, a equipe de revisão de plugins irá analisá-lo; esse processo pode levar de alguns dias a algumas semanas. Uma vez aprovado, o seu plugin estará disponível para busca e instalação no diretório oficial.