Guia completo para o desenvolvimento de plugins do WordPress: do iniciante ao especialista na criação de funcionalidades personalizadas.

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

Por que escolher desenvolver um plugin para o WordPress?

O WordPress, como o sistema de gestão de conteúdo mais popular em todo o mundo, deve sua forte capacidade de expansão principalmente aos plugins. Ao desenvolver plugins personalizados, os desenvolvedores podem adicionar qualquer funcionalidade necessária ao site sem a necessidade de modificar o código principal, o que garante a segurança das atualizações e a independência das funcionalidades do site. Seja para atender a necessidades comerciais específicas, otimizar os fluxos de trabalho ou criar produtos dentro da vasta ecologia do WordPress, o desenvolvimento de plugins é uma habilidade de grande valor.

e aqueles que modificam diretamente o tópico.functions.phpEm comparação com os arquivos, os plugins encapsulam a lógica das suas funcionalidades em módulos independentes. Isso significa que, mesmo que o tema seja alterado, as funcionalidades fornecidas pelo plugin continuarão a funcionar normalmente. Além disso, um plugin bem estruturado pode ser facilmente migrado e reutilizado em diferentes sites, o que aumenta significativamente a eficiência do desenvolvimento.

Construa o seu primeiro plugin.

O primeiro passo no desenvolvimento de plugins é entender a estrutura mais básica de um plugin. Todos os plugins do WordPress são armazenados em…/wp-content/plugins/No diretório, cada plugin possui sua própria pasta separada.

Leitura recomendada Guia de introdução ao desenvolvimento de plugins do WordPress: crie o seu primeiro plugin do zero.

Criar o arquivo principal do plugin

O núcleo do plugin é um arquivo principal em PHP. Você precisa criar uma nova pasta, por exemplo…my-first-pluginE crie, dentro dele, um arquivo PHP com o mesmo nome que a pasta:my-first-plugin.phpAs notas de cabeça deste arquivo são de extrema importância, pois fornecem informações metadadas sobre o plugin para o 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).
<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习插件开发的示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

Depois de salvar esse arquivo, você poderá vê-lo e ativá-lo na página de “Plugins” no painel administrativo do WordPress. Embora ele ainda não tenha nenhuma funcionalidade, você conseguiu criar com sucesso uma estrutura de plugin válida.

Adicionar funcionalidades básicas ao plug-in.

Após ativar o plugin, podemos começar a adicionar funcionalidades simples a ele. Um exemplo comum para iniciantes é adicionar uma linha de texto personalizado no rodapé do site. Isso pode ser feito utilizando...wp_footerEste recurso é implementado através de um “gancho de ação” (Action Hook).

No arquivo principal do plugin, adicione o seguinte código:

// 在网站页脚输出自定义信息
function my_first_plugin_footer_text() {
    echo '<p style="text-align: center;">Obrigado por usar o plugin que foi desenvolvido com o apoio do meu primeiro projeto!</p>';
}
add_action( 'wp_footer', 'my_first_plugin_footer_text' );

Aqui, definimos uma função.my_first_plugin_footer_text()E então, use…add_action()A função o monta (ou o associa) em um determinado local ou sistema.wp_footerNo gancho (hook). Quando o WordPress executa a parte do rodapé da página, nossa função é automaticamente chamada, exibindo o conteúdo HTML pré-definido. Isso demonstra o uso básico do mecanismo de “ganchos e callbacks” do WordPress.

Leitura recomendada Guia de Início para Desenvolvimento de Plugins para WordPress: Construa seu Primeiro Plugin Funcional do Zero

Aprofundando-se no assunto: Ganchos (Hooks) e Filtros (Filters)

A filosofia central do desenvolvimento de plugins para o WordPress é baseada nos “ganchos” (Hooks). Existem dois tipos de ganchos: os Ganchos de Ação (Action Hooks) e os Ganchos de Filtro (Filter Hooks). Compreendê-los é a chave para você passar do nível iniciante para o nível avançado no desenvolvimento de plugins.

Compreender os ganchos de ação (action hooks)

Os ganchos de ação (action hooks) permitem que você insira o seu próprio código em momentos específicos da execução do WordPress. Como no exemplo acima…wp_footerEle é acionado durante a geração do HTML do rodapé da página. Outro gancho de ação (action hook) bastante utilizado é…initEle é executado após o WordPress concluir o carregamento básico e antes de processar as solicitações, sendo frequentemente utilizado para inicializar as configurações dos plugins ou registrar tipos de artigos personalizados.

// 在初始化时执行一些操作
function my_plugin_init_action() {
    // 例如,在这里可以注册一个自定义文章类型
    // if ( ! post_type_exists( 'book' ) ) { ... }
}
add_action( 'init', '_plugin_init_action' );

Dominar os ganchos (hooks) dos filtros

Diferentemente dos ganchos de ação (action hooks), os ganchos de filtro (filter hooks) são usados para modificar dados. Eles recebem um valor, permitem que você o modifique e, em seguida, retornam o valor processado. Um exemplo típico é…the_contentO filtro permite que você modifique o conteúdo principal de um artigo ou de uma página.

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%
// 在文章内容末尾自动添加一段提示文字
function my_plugin_content_filter( $content ) {
    if ( is_single() ) {
        $extra_text = '<div class="my-plugin-note">O conteúdo deste artigo foi gerado através da filtragem realizada pelo meu plugin.</div>';
        $content .= $extra_text;
    }
    return $content;
}
add_filter( 'the_content', 'my_plugin_content_filter' );

Neste exemplo, a função…my_plugin_content_filter()Receber o original$contentVerifique se é a página de um único artigo e, em seguida, adicione um trecho de HTML após ela. Por fim, retorne o conteúdo modificado. O WordPress usará esse valor retornado em vez do conteúdo original para a exibição.

Criar plugins configuráveis

Um plugin profissional geralmente precisa fornecer uma interface de gerenciamento que permita aos usuários fazer configurações. Isso envolve a criação de páginas de configuração no backend do WordPress, o processamento de dados de formulários e o salvamento desses dados de forma segura.

Criar um menu e páginas de gerenciamento

fazer uso deadd_menu_page()ouadd_options_page()As funções podem adicionar um item de menu e uma página de configurações para o seu plugin no backend. Isso geralmente acontece quando…admin_menuConcluído no hook de ação.

Leitura recomendada Guia de introdução ao desenvolvimento de plugins do WordPress: Desde o início até o domínio da criação de funcionalidades personalizadas.

// 添加插件管理菜单
function my_plugin_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 所需权限
        'my-plugin-settings',   // 菜单slug
        'my_plugin_settings_page' // 显示页面的回调函数
    );
}
add_action( 'admin_menu', 'my_plugin_add_admin_menu' );

// 设置页面的HTML内容
function my_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Configurações do meu plugin</h1>
        <form method="post" action="/pt/options.php/" data-trp-original-action="options.php">
            <?php
            settings_fields( 'my_plugin_settings_group' );
            do_settings_sections( 'my-plugin-settings' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="pt"/></form>
    </div>
    &lt;?php
}

Configurações de registro, campos e tratamento de segurança

Em seguida, você precisará usar a API de Configurações do WordPress (WordPress Settings API) para registrar configurações, campos e processar o salvamento de dados. Isso garante a segurança da validação de dados, a verificação de permissões e o armazenamento serializado dos dados.

// 初始化插件设置
function my_plugin_settings_init() {
    // 注册一个新的设置项到“my_plugin_settings_group”
    register_setting( 'my_plugin_settings_group', 'my_plugin_options' );

// 在设置页面添加一个区域
    add_settings_section(
        'my_plugin_section_id',
        '基础配置',
        null,
        'my-plugin-settings'
    );

// 向该区域添加一个字段
    add_settings_field(
        'my_plugin_text_field',
        '提示文本',
        'my_plugin_text_field_render',
        'my-plugin-settings',
        'my_plugin_section_id'
    );
}
add_action( 'admin_init', 'my_plugin_settings_init' );

// 渲染文本框字段
function my_plugin_text_field_render() {
    $options = get_option( 'my_plugin_options' );
    ?&gt;
    <input type='text' name='my_plugin_options[text_field]' value='<?php echo esc_attr( $options['text_field'] ?? '' ); ?>'>
    <p class="description">O texto inserido aqui será exibido na página principal do site.</p>
    &lt;?php
}

Dessa maneira, os dados inseridos pelo usuário no frontend passam por processamentos de segurança integrados ao WordPress (como a desescapulação de caracteres e verificações de validade), e em seguida são salvos em formato de array.wp_optionsNo quadro. O código do seu plugin pode ser usado através de…get_option( ‘my_plugin_options’ )Obtenha esses valores de forma 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.

Seguir as melhores práticas e preparar-se para a publicação

Desenvolver um plugin de alta qualidade, fácil de manter e seguro requer a adoção de uma série de boas práticas.

Organização do código e segurança

Nunca acredite no que os usuários inserem. Em relação a tudo o que vem deles…$_GET$_POSTOs dados obtidos, ou aqueles lidos do banco de dados e preparados para serem exibidos, devem ser escapados ou verificados utilizando as funções fornecidas pelo WordPress.esc_html()esc_attr()sanitize_text_field()wp_kses()etc. Usewp_enqueue_script()ewp_enqueue_style()É necessário carregar corretamente os scripts e os estilos, bem como gerenciar as dependências e o controle de versões. Para plugins complexos, considere utilizar a programação orientada a objetos (POO) para organizar o código, encapsulando as funções em classes, o que melhora a modularidade e a reutilizabilidade do código.

Internacionalização e Localização

Para que o seu plugin possa ser usado por usuários de todo o mundo, a internacionalização (i18n) é essencial. Isso significa que você precisa…__()ou_e()Funções como essa envolvem todas as strings direcionadas aos usuários. Elas são definidas nos comentários no início do plugin.Text Domain(Por exemplo,my-first-pluginDeve ser consistente com os campos de texto utilizados aqui.

// 错误示例
echo “Settings Saved”;

// 正确示例
echo esc_html__( 'Settings Saved', 'my-first-plugin' );

Em seguida, você pode usar ferramentas como o Poedit para extrair essas strings e gerar o conteúdo desejado..potArquivos de modelo: os tradutores podem usar esses arquivos para criar traduções em diferentes idiomas.zh_CN.poPor favor, forneça o conteúdo que precisa ser traduzido para que eu possa criar o arquivo de tradução..moOs arquivos de compilação devem ser colocados no diretório dos plugins./languages/Dentro da pasta, o WordPress carregará automaticamente as traduções correspondentes de acordo com o idioma do site.

Preparar para publicar no catálogo oficial.

Se você planeja enviar o plugin para o diretório oficial de plugins do WordPress.org, é necessário garantir que o código esteja em conformidade com as especificações. Isso inclui a criação de um documento detalhado…readme.txtOs arquivos (que descrevem os plugins em um formato específico, incluindo capturas de tela, instruções de instalação, perguntas frequentes e registros de atualizações) devem seguir a licença GPL, e o código deve ser enviado para o repositório oficial do Subversion (SVN). Antes da publicação, é necessário testar cuidadosamente a compatibilidade do seu plugin com diferentes versões do WordPress, do PHP, com temas populares e com outros plugins.

resumos

O desenvolvimento de plugins para o WordPress é um processo progressivo que vai desde a encapsulação de funções simples até a construção de aplicações mais complexas. Tudo começa com um arquivo PHP que contém as devidas anotações de cabeçalho, e o essencial é dominar o uso dos ganchos de ação (action hooks) e dos ganchos de filtro (filter hooks) para interagir com o núcleo do WordPress. A criação de interfaces de gerenciamento de backend através da API Settings torna os plugins mais amigáveis ao usuário. Seguir as melhores práticas de segurança, implementar funcionalidades de internacionalização e organizar o código de forma estruturada são os pilares para o desenvolvimento de plugins de nível profissional. Seja para atender às necessidades de projetos pessoais ou para contribuir para a comunidade de código aberto, dominar esse processo de desenvolvimento abrirá as portas para um grande potencial de personalização.

Perguntas frequentes Perguntas frequentes

Quais são os conhecimentos prévios necessários para desenvolver plugins?

Você precisa ter conhecimentos básicos de programação em PHP, entender HTML e CSS, e ter uma noção dos conceitos e operações básicas do WordPress (como artigos, páginas e plugins). Ser familiarizado com os conceitos básicos do banco de dados MySQL também é útil, mas não é obrigatório, pois o WordPress fornece funções convenientes para a manipulação do banco de dados.WP_Querywpdb类)。

Quais são as diferenças entre os ficheiros functions.php dos plugins e dos temas?

Coloque o código dentro do tópico (ou do tema, conforme o contexto).functions.phpO arquivo contém um método para adicionar funcionalidades de forma rápida, mas essas funcionalidades estão vinculadas ao tema específico. Quando você muda de tema, essas funcionalidades são perdidas. Por outro lado, os plugins são módulos independentes do tema; suas funcionalidades permanecem ativas, independentemente do tema utilizado, desde que o plugin esteja ativado. Para funcionalidades que serão usadas por um longo período ou que precisam ser reutilizadas em vários sites, desenvolvê-las como plugins é a escolha mais adequada.

Como depurar o código do meu plug-in?

O WordPress oferece vários ferramentas de depuração. Primeiramente, você pode…wp-config.phpO ficheiro foi aberto.WP_DEBUG“Modo, vamos…”define( 'WP_DEBUG', true );Isso exibirá erros, avisos e notificações do PHP na tela. Uma maneira mais segura de fazer isso é configurar ambos os métodos ao mesmo tempo.WP_DEBUG_LOGParatrueRegistre o erro em…/wp-content/debug.logNo arquivo. Além disso, use…error_log()Funções ou a instalação de plugins de depuração profissionais, como o Query Monitor, podem ajudar a rastrear variáveis e consultas ao banco de dados de forma mais eficiente.

Como meu plugin é compatível com versões mais recentes do PHP?

Para garantir que o plugin funcione corretamente em futuras versões do PHP, você deve evitar o uso de funções e sintaxes descontinuadas ou removidas. No ambiente de desenvolvimento local, use um ambiente compatível com a versão futura almejada (como o PHP 8.x) para realizar os testes. Mantenha-se atento aos anúncios de atualizações oficiais do WordPress e do PHP, e especifique no registro de atualizações do plugin as versões do PHP com as quais ele é compatível. Isso ajudará os usuários a escolherem o ambiente mais adequado para o seu uso.