Desenvolvimento de plugins para WordPress: Um guia completo do básico ao avançado – Construindo funcionalidades personalizadas

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

Configurar o ambiente de desenvolvimento de plugins do WordPress.

Antes de começar a escrever o código, um ambiente de desenvolvimento estável e eficiente é de extrema importância. Isso não só melhora a eficiência do desenvolvimento, como também garante a compatibilidade dos plugins em diferentes ambientes. Primeiramente, você precisa configurar um ambiente de execução do WordPress no seu computador local. Recomendamos o uso de pacotes de software de servidor local integrados, como XAMPP, MAMP ou Local by Flywheel, que permitem instalar Apache, MySQL e PHP com apenas um clique.

Em seguida, você precisará de um editor de código. O Visual Studio Code, o PhpStorm ou o Sublime Text são ótimas opções, pois oferecem realce de sintaxe, sugestões de código e funcionalidades de depuração. Certifique-se de que a versão do PHP que você está usando esteja compatível com o ambiente do WordPress alvo; geralmente, a equipe oficial do WordPress recomenda uma versão estável de PHP.

A preparação essencial para o desenvolvimento é criar a estrutura básica de um plugin. No diretório de instalação do seu WordPress…wp-content/pluginsDentro da pasta, crie uma nova pasta exclusiva para o seu plugin, por exemplo:my-first-pluginNeste folder, você deve criar um arquivo principal do plugin, que geralmente é nomeado de acordo com o nome do próprio plugin, por exemplo:my-first-plugin.phpEste arquivo é o ponto de entrada do plugin, e as informações contidas nas notas no topo são de extrema importância. O WordPress depende dessas informações para identificar e exibir o seu plugin.

Leitura recomendada Guia completo para o desenvolvimento de plugins do WordPress: construa o seu primeiro plugin do zero.

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

Este comentário define as informações exibidas pelo plugin na interface de administração do WordPress. Após concluir este passo, você poderá ver e ativar seu plugin na página “Plugins” do painel de administração do WordPress, embora ele ainda não tenha nenhuma funcionalidade.

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).

Compreender o mecanismo central dos plugins do WordPress

A força do WordPress reside em sua arquitetura altamente extensível, que é principalmente alcançada através do mecanismo de “ganchos” (Hooks). Compreender os ganchos é essencial para dominar o desenvolvimento de plugins. Existem dois tipos principais de ganchos: os Ganchos de Ação (Action Hooks) e os Ganchos de Filtro (Filter Hooks).

Os ganchos de ação (action hooks) permitem que você “insira” e execute o seu próprio código em momentos específicos. Por exemplo, quando um artigo é publicado ou quando um usuário acessa a parte superior do site, o WordPress aciona os ganchos de ação correspondentes. Você pode usar isso para realizar ações personalizadas, como enviar notificações, atualizar dados em um banco de dados ou executar outras tarefas automatizadas.add_action()A função “monta” sua função personalizada nesse gancho (hook).

function my_custom_function() {
    // 你的代码逻辑
}
add_action( 'wp_head', 'my_custom_function' );

O código acima será executado no site.<head>Execução parcialmy_custom_functionFunção.

Os “ganchos de filtro” (filter hooks) são utilizados para modificar os dados. Eles permitem que você altere os dados antes que eles sejam utilizados (por exemplo, antes de serem salvos em um banco de dados ou exibidos em uma página). Você pode usá-los para realizar ajustes necessários nos dados.add_filter()Uma função é utilizada para aplicar um filtro. A função do filtro deve receber um valor de entrada e retornar o valor modificado.

Leitura recomendada Introdução prática para iniciantes: aprenda a desenvolver plugins do WordPress passo a passo

function modify_content( $content ) {
    $new_content = $content . “<p>Este texto foi adicionado pelo meu plugin.</p>”;
    return $new_content;
}
add_filter( 'the_content', 'modify_content' );

Este código adicionará um texto personalizado no final do conteúdo de cada artigo.

Outro mecanismo central é o código curto (Shortcode). O código curto permite que os usuários utilizem etiquetas simples para…[my_shortcode]Insira conteúdo dinâmico em um artigo ou página. Você pode usar…add_shortcode()Uma função para registrar uma função de processamento de códigos curtos.

Criar um exemplo de plugin completo e funcional

Agora, vamos utilizar o conhecimento adquirido para criar um simples plugin de “estimativa do tempo de leitura de artigos”. Esse plugin calculará automaticamente o tempo necessário para ler o artigo e o exibirá antes do conteúdo principal.

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%

Primeiramente, no arquivo principal do plugin, criamos uma função para calcular o tempo de leitura. Suponhamos que a velocidade média de leitura seja de 200 palavras por minuto.

function calculate_reading_time( $content ) {
    // 去除HTML标签,只计算纯文字
    $text = strip_tags( $content );
    // 计算单词数
    $word_count = str_word_count( $text );
    // 计算阅读分钟数(向上取整)
    $reading_time = ceil( $word_count / 200 );

// 创建显示信息
    $reading_time_html = ‘<div class="“reading-time”">Tempo estimado de leitura: ’. $reading_time . ‘ minutos</div>’;

// 将阅读时间信息附加到文章内容之前
    return $reading_time_html . $content;
}
// 使用过滤器将函数应用到文章内容
add_filter( ‘the_content’, ‘calculate_reading_time’ );

No entanto, podemos não querer exibir o tempo de leitura em todos os lugares (como resumos, fontes RSS). Isso pode ser otimizado adicionando condições de avaliação.

function calculate_reading_time( $content ) {
    // 仅在主循环的单篇文章页面显示
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $text = strip_tags( $content );
        $word_count = str_word_count( $text );
        $reading_time = ceil( $word_count / 200 );

$reading_time_html = ‘<div class="“reading-time”"><strong>📖 Tempo de leitura:</strong>Cerca de $reading_time… ’minutos‘</div>’;
        return $reading_time_html . $content;
    }
    // 如果不是单篇文章,返回原内容
    return $content;
}
add_filter( ‘the_content’, ‘calculate_reading_time’ );

Para tornar o estilo mais agradável aos olhos, também podemos adicionar um pouco de CSS. Podemos usar…wp_enqueue_style()Uma função para carregar tabelas de estilos de forma segura. Primeiramente, crie um arquivo no diretório dos plugins.style.cssArquivo, e então adicioná-lo à fila através do gancho de ação (action hook).

Leitura recomendada Guia de introdução para iniciantes no desenvolvimento de plugins do WordPress: crie o seu primeiro plugin funcional do zero.

function my_plugin_styles() {
    wp_enqueue_style(
        ‘my-plugin-style’,
        plugin_dir_url( __FILE__ ) . ‘style.css’,
        array(),
        ‘1.0.0’
    );
}
add_action( ‘wp_enqueue_scripts’, ‘my_plugin_styles’ );

Melhores Práticas de Internacionalização e Segurança para Plugins

Um plugin profissional, destinado a usuários de todo o mundo, deve suportar a internacionalização (i18n). Isso permite que o plugin seja traduzido para outros idiomas. Para implementar a internacionalização, é necessário utilizar as funções de tradução fornecidas pelo WordPress. Primeiramente, configure corretamente as informações de tradução nos comentários no início do plugin.Text DomainComo configuramos anteriormente…my-first-plugin

No código, use para todas as strings que precisam ser traduzidas.()_e()ouesc_html()Funções como essa são encapsuladas (embaladas) para facilitar seu uso e manutenção.

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.
$empo_de_caminhada_html = ‘<div class="“reading-time”"><strong>’
    . esc_html__( ‘📖 Reading Time:’, ‘my-first-plugin’ )
    . ‘</strong>’
    . sprintf(
        esc_html__( ‘about %d minutes’, ‘my-first-plugin’ ),
        $reading_time
    )
    . ‘</div>’;

Em seguida, você precisa usar uma ferramenta (como o Poedit) para gerar o conteúdo desejado..potArquivos de modelo; os tradutores podem usar esses arquivos como base para criar novos conteúdos..poe.moOs arquivos devem ser colocados no diretório do plugin.languagesNa pasta.

A segurança é a linha de vida no desenvolvimento de plugins. É essencial seguir as seguintes práticas de segurança fundamentais:
1. Validação de Dados: Realize verificações rigorosas em todos os dados inseridos pelos usuários ou provenientes de fontes externas. Utilize funções como…sanitize_text_field()absint()Vamos limpar os dados.
2. Escape de Dados: Antes de exibir qualquer dado em HTML, JavaScript ou URL, é necessário realizar o processo de escape. Useesc_html()esc_attr()esc_url()ewp_kses_post()Funções como essas.
3. Verificação não-CSS: Para operações que envolvem alterações de dados (como o envio de formulários ou solicitações AJAX), é obrigatório utilizar a verificação não-CSS.wp_nonce(Os tokens numéricos são utilizados para verificar a legitimidade e a intenção da solicitação, prevenindo ataques de CSRF.)
4. Verificação de Capacidades: Antes de realizar operações de gestão, utilize…current_user_can()A função verifica se o usuário atual possui permissões suficientes (por exemplo,...).‘manage_options’)。

resumos

O desenvolvimento de plugins para o WordPress é um processo que transforma ideias em funcionalidades reais, e o seu núcleo reside no entendimento profundo e no uso flexível do mecanismo de “ganchos” (hooks) do sistema. Começando pela configuração do ambiente e pela criação dos arquivos básicos, é possível interagir de forma avançada com o core do WordPress através de ações (actions) e filtros (filters), construindo assim módulos de funcionalidades práticos. Um plugin maduro não só deve ter funcionalidades completas, mas também deve seguir padrões elevados de internacionalização e segurança, garantindo sua estabilidade, segurança e compatibilidade com usuários de todo o mundo. Através da prática contínua e do aprendizado, você poderá evoluir de desenvolver plugins simples para criar extensões comerciais e complexas para o WordPress.

Perguntas frequentes Perguntas frequentes

É necessário dominar o PHP para desenvolver plugins para o WordPress?

Sim, ter um domínio avançado em PHP é fundamental para o desenvolvimento de plugins para o WordPress. O próprio núcleo do WordPress é escrito em PHP, e o processamento lógico de todos os plugins e temas depende dessa linguagem. Você precisa estar familiarizado com a sintaxe do PHP, suas funções, a programação orientada a objetos, bem como com a interação com o banco de dados MySQL. Além disso, um bom conhecimento de HTML, CSS e JavaScript é essencial para o desenvolvimento de funcionalidades interativas no lado front-end.

Como depurar o plugin do WordPress que desenvolvi?

O WordPress oferece vários ferramentas de depuração. Primeiramente, você pode…wp-config.phpAtive o modo de depuração no arquivo.WP_DEBUGA constante foi definida como…trueIsso exibirá erros, avisos e notificações do PHP na página. Para um depuramento mais avançado, é possível utilizar…error_log()A função registra as informações no log de erros do servidor ou utiliza plugins de depuração profissionais, como o Query Monitor, para visualizar detalhes sobre consultas ao banco de dados, execução de “hooks”, carregamento de scripts, entre outros.

Como posso publicar o plugin que desenvolvi no diretório oficial de plugins do WordPress?

Para publicar um plugin no diretório oficial do WordPress.org, você precisa primeiro criar uma conta no WordPress.org e enviar o plugin para avaliação. Seu plugin deve atender aos padrões e requisitos de código oficiais, incluindo o uso de uma licença compatível com a GPLv2 ou uma versão mais recente, a adesão às melhores práticas de segurança e a contenção de comentários de documentação completos no código. Após o envio, uma equipe de revisão analisará o plugin. Se for aprovado, ele poderá ser publicado. Uma vez publicado, os usuários poderão procurar, instalar e atualizar seu plugin diretamente no painel de controle do WordPress.

Como criar uma página de configurações de gerenciamento para o meu plugin?

Você pode usar a “Settings API” do WordPress para criar páginas de gerenciamento padronizadas e seguras. Os passos principais incluem:add_menu_page()ouadd_submenu_page()A função registra uma nova página de menu e, em seguida, a utiliza.add_settings_section()eadd_settings_field()Vamos definir a área de configuração e os campos. Por fim, use…register_setting()Registre-se, configure as opções e ative a funcionalidade de salvamento automático e verificação. Esse processo garante a segurança da página de configurações e a compatibilidade com a interface de gestão do WordPress.