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

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

Preparativos antes do desenvolvimento de um plugin para o WordPress

Antes de começar a escrever a primeira linha de código, uma preparação adequada é a base do sucesso de um projeto. Isso inclui não apenas a configuração do ambiente técnico, mas também uma análise clara das necessidades e o planejamento do projeto em si.

Primeiramente, você precisa de um ambiente de desenvolvimento local. Recomendamos o uso de ferramentas como Local by Flywheel, MAMP, XAMPP ou Docker para configurar rapidamente um ambiente de execução do WordPress que inclua PHP, MySQL e Apache/Nginx. Certifique-se de que a versão do PHP atende aos requisitos mais recentes da equipe oficial do WordPress; geralmente, é necessário o PHP 7.4 ou uma versão mais recente.

Em segundo lugar, defina claramente qual problema o seu plugin irá resolver. Será para adicionar uma funcionalidade específica ao site ou para otimizar algum processo existente? Uma descrição clara do plugin e uma lista de funcionalidades servem como um plano para o desenvolvimento futuro. É recomendável usar ferramentas como o Trello ou documentos simples para planejar as iterações de versões e os pontos funcionais.

Leitura recomendada Guia de Iniciação para Desenvolvimento de Plugins para WordPress: Do Nível Zero até o Processo Completo de Lançamento

Por fim, você precisará de um editor de código ou de um ambiente de desenvolvimento integrado (IDE). O Visual Studio Code, o PhpStorm e o Sublime Text são ótimas opções, pois oferecem suporte avançado para o desenvolvimento em PHP e WordPress, incluindo realce de sintaxe, sugestões de código e funcionalidades de depuração. Uma vez que estiver tudo pronto, você poderá criar o arquivo principal que servirá de base para o seu plugin.

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

Crie o seu primeiro plugin para o WordPress.

Tudo é difícil no início, mas criar um arquivo de plugin básico para o WordPress é excepcionalmente simples. Esta seção irá guiá-lo na construção da estrutura básica do plugin, na elaboração da declaração de segurança e no processo de ativação do mesmo.

Crie uma nova pasta cujo nome seja único e possa descrever a função do plugin, em inglês. Por exemplo:my-first-pluginNesse diretório, crie o arquivo principal do plugin, que geralmente tem o nome de…plugin-name.phpVamos dar um nome a este arquivo. Este arquivo é o ponto de entrada do plugin, e o WordPress reconhece o plugin lendo informações específicas contidas em comentários no início deste arquivo.

No topo deste arquivo principal, você deve adicionar uma nota de cabeçalho de plugin que atenda aos padrões do WordPress. Aqui está um exemplo básico:

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

O “Nome do Plugin” é obrigatório nessa anotação; as outras informações são opcionais, mas é fortemente recomendado que sejam preenchidas completamente. Após concluir, carregue a pasta do plugin no diretório de instalação do WordPress./wp-content/plugins/O plugin está no caminho certo. Ao acessar a página “Plugins” no painel administrativo do WordPress, você poderá ver o seu plugin e ativá-lo. Neste momento, ele ainda não possui nenhuma funcionalidade, mas você já criou com sucesso um plugin reconhecido pelo WordPress.

Leitura recomendada O desenvolvimento de plugins do WordPress é um processo que vai do zero ao um, para o sistema de gerenciamento de conteúdo mais popular do mundo.

Implementar uma função simples

Vamos adicionar a primeira funcionalidade significativa a este plugin “vazio”: a inserção automática de uma declaração de direitos autorais no final do conteúdo dos artigos. Isso vai ajudá-lo a entender melhor o mecanismo de “ganchos” (hooks) do WordPress.

Primeiramente, precisamos criar uma função para implementar a lógica de adição das informações de copyright. Vamos chamá esta função de…myplugin_add_footer_text

function myplugin_add_footer_text($content) {
    // 确保只在网站前端的主文章循环中执行
    if (is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query()) {
        $footer_text = '<p><em>Este artigo é apresentado para você pelo meu primeiro plugin.</em></p>'if (isset($data['content'])) {  
        $content .= $data['content'];  
    } else {  
        $content = '';  
    }  
    return $content;  
}

Em seguida, precisamos “montar” essa função em um ponto específico de execução do WordPress; esse processo é chamado de “adicionar um gancho” (hook). Aqui, usaremos…the_contentGancho do filtro: Adicione o seguinte código ao arquivo principal do seu plugin.

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%
add_filter('the_content', 'myplugin_add_footer_text');

Após salvar o arquivo, atualize a página de um artigo no seu site e você verá que as informações de copyright que você definiu foram adicionadas no final do conteúdo. Com este exemplo simples, você já dominou o padrão central do desenvolvimento de plugins: criar funções -> usá-las.add_actionouadd_filterO “gancho” (hook) conecta a função ao ciclo de vida do WordPress.

Aprofundando-se no assunto: Ganchos (Hooks) e APIs do WordPress

O mecanismo de ganchos (hooks) é a essência do desenvolvimento de plugins para o WordPress, pois permite que o seu código seja executado em momentos ou locais específicos. Compreender e utilizar os ganchos de forma proficiente é fundamental para criar funcionalidades avançadas.

Os ganchos (hooks) do WordPress são divididos principalmente em dois tipos: Ações (Actions) e Filtros (Filters). Os ganchos de ação são acionados quando eventos específicos do núcleo do WordPress ocorrem, como a publicação de um artigo ou a carga da área de administração. Suas funções podem executar alguma ação nesses momentos. Já os ganchos de filtro são usados para modificar dados, permitindo que suas funções alterem o valor dos dados antes que eles sejam utilizados ou salvos, por exemplo, alterando o conteúdo ou o título de um artigo.

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

Crie uma função de gancho de ação (action hook function):

function myplugin_log_post_published($ID, $post) {
    // 当文章发布时,在错误日志中记录一条信息(仅用于演示)
    error_log("文章 {$post->post_title} (ID: {$ID}) 已发布。");
}
// 将函数挂载到 `publish_post` 这个动作钩子上
add_action('publish_post', 'myplugin_log_post_published', 10, 2);

Crie uma função de gancho (hook function) para um filtro:

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.
function myplugin_excerpt_length($length) {
    // 将默认的摘要长度从55个词修改为20个词
    return 20;
}
// 将函数挂载到 `excerpt_length` 这个过滤器钩子上
add_filter('excerpt_length', 'myplugin_excerpt_length');

Quando usado…add_actionouadd_filterNesse caso, o terceiro e o quarto parâmetros representam, respectivamente, a prioridade e o número de parâmetros. Ao configurá-los de forma adequada, é possível controlar com precisão a ordem de execução de várias funções de callback.

Utilizando o WordPress para configurar a API

Para permitir que os usuários do plugin personalizem o seu comportamento, você precisa criar uma página de configuração. O WordPress disponibiliza uma API de configurações para simplificar esse processo. Geralmente, isso envolve três funções principais:register_settingUsado para registrar um conjunto de configurações.add_settings_sectionUsado para adicionar uma área de configurações na página.add_settings_fieldUsado para adicionar campos específicos nessa área.

Crie uma função para criar uma página de opções:

function myplugin_settings_page() {
    add_options_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限
        'myplugin-settings', // 菜单 Slug
        'myplugin_render_settings_page' // 用于输出页面内容的回调函数
    );
}
add_action('admin_menu', 'myplugin_settings_page');

Então, você precisa implementar isso.myplugin_render_settings_pageUma função para exibir um formulário, e usar…settings_fieldsedo_settings_sectionsUma função para exibir os campos de formulário processados automaticamente pelo API do WordPress.get_optionFunções: Você pode facilmente obter os valores das opções salvadas pelo usuário em qualquer parte do código do plugin.

Práticas avançadas de desenvolvimento de plugins e sua publicação

À medida que as funcionalidades do seu plugin se aprimoram e a quantidade de código aumenta, uma boa organização do código, proteções de segurança eficazes e suporte à internacionalização tornam-se extremamente importantes.

Para manter o código claro, é recomendável separar o código com funções diferentes em arquivos distintos. Por exemplo, o registro de hooks e as funções principais devem ser colocados no arquivo principal, enquanto o código relacionado às páginas de configuração deve ser armazenado em arquivos específicos para essas páginas.admin/Subdiretório: coloque o código das funcionalidades front-end lá.public/Subdiretórios, e a introdução de conteúdo de acordo com condições específicas. O uso da programação orientada a objetos (POO) também é uma excelente prática para gerenciar plugins complexos, pois permite uma melhor encapsulação de dados e funções.

A segurança é a linha de vida no desenvolvimento de plugins. Todos os dados coletados dos usuários (como…)$_GET$_POST$_COOKIETudo deve ser verificado e desinfetado. O WordPress disponibiliza uma grande quantidade de funções para isso.sanitize_text_fieldwp_kses_postintvalAo enviar quaisquer dados para o navegador ou o banco de dados, é necessário realizar a mesma operação de escape (encodificação especial dos caracteres).esc_htmlesc_attrouwp_ksesFunções. Para operações no banco de dados, é necessário utilizar as funções disponíveis no WordPress.$wpdbClasses e seus…prepareMétodos para prevenir injeções SQL.

Implementar a internacionalização de plugins

Para que o seu plugin possa ser usado por usuários de todo o mundo, a internacionalização é um passo essencial. Isso envolve principalmente dois passos:__()ou_e()As funções `etc.` envolvem todas as strings que precisam ser traduzidas, bem como a carga correta dos campos de texto.

Já definimos o “Text Domain” no cabeçalho do plugin. Durante a inicialização do plugin (geralmente no arquivo principal), é necessário carregar os arquivos de idioma correspondentes.

function myplugin_load_textdomain() {
    load_plugin_textdomain('my-first-plugin', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
add_action('init', 'myplugin_load_textdomain');

Depois disso, você pode usar algo semelhante a…__('Hello World', 'my-first-plugin')O método de escrita é usado para marcar strings. Os tradutores podem utilizar ferramentas como o Poedit, de acordo com o conteúdo gerado..potCriação de arquivos de modelo.poe.moTraduza o arquivo e coloque-o no plugin./languages/No diretório.

Finalmente, quando o funcionamento do plugin estiver estável, você pode optar por enviá-lo para o diretório oficial de plugins do WordPress, para que mais pessoas possam usá-lo. Isso requer que você empacote o código do plugin e escreva uma descrição detalhada sobre ele.readme.txtArquivos, e siga as normas de desenvolvimento da comunidade.

resumos

O desenvolvimento de plugins para o WordPress é uma jornada prática que transforma ideias em funcionalidades poderosas. Começando pela configuração do ambiente e pela criação dos arquivos básicos do plugin, você vai aprofundando-se gradualmente nos mecanismos de “ganchos” (hooks) centrais e nas APIs de configuração, até chegar a tópicos mais avançados como a organização do código, a segurança e a internacionalização. O núcleo de todo esse processo é a compreensão da arquitetura baseada em eventos do WordPress, que permite expandir as funcionalidades padrão de forma integrada através de “ganchos” de ações (actions) e filtros (filters). Lembre-se: começar com uma funcionalidade simples, iterar continuamente e sempre priorizar a segurança do código e a experiência do usuário são os caminhos essenciais para se tornar um desenvolvedor de plugins de sucesso.

Perguntas frequentes Perguntas frequentes

Quais linguagens de programação são necessárias para desenvolver plugins para o WordPress em ###?
Para desenvolver plugins para o WordPress, é essencial dominar a linguagem PHP, já que o próprio núcleo do WordPress é escrito em PHP. Além disso, as funcionalidades do lado front-end geralmente envolvem HTML, CSS e JavaScript. No que diz respeito à interação com bancos de dados, um conhecimento básico de SQL também é útil.$wpdbA classe encapsula a maioria das operações.

Como depurar o meu plugin do WordPress?

Durante a fase de desenvolvimento, é recomendado ativar o modo de depuração do WordPress.wp-config.phpNo arquivo, será…WP_DEBUGA constante foi definida como…trueVocê também pode usar…error_log()A função registra as informações no log de erros do servidor. Para um depuramento mais avançado, é possível utilizar plugins profissionais como o Xdebug ou o Query Monitor para rastrear a execução do código e as consultas ao banco de dados.

Como meu plugin pode interagir com serviços ou APIs de terceiros?

Os plugins podem ser desenvolvidos utilizando a API HTTP do WordPress (por exemplo, através dos métodos disponíveis na API).wp_remote_get()wp_remote_post()Realiza comunicações seguras e estáveis com serviços externos. O HTTP API do WordPress possui funcionalidades internas de tratamento de tempo de espera e verificação SSL, o que o torna mais confiável do que o uso direto das funções `curl` ou `file_get_contents` do PHP. Ao processar as respostas, é essencial verificar eventuais erros e realizar o tratamento adequado deles.

Como devo adicionar tabelas de banco de dados personalizadas ao meu plugin?

Embora a tabela de opções do WordPress seja suficiente para lidar com a maioria dos casos de armazenamento de configurações, os dados estruturados podem ser mais adequados para serem armazenados em tabelas personalizadas. Você pode usar os ganchos de ativação de plugins para isso.register_activation_hookA instrução SQL para criar a tabela é executada durante o processo de registro da função. É obrigatório utilizá-la.$wpdb->prefixPara garantir que o prefixo da tabela esteja correto, use…dbDeltaExistem funções para criar ou atualizar estruturas de tabelas de forma segura. Qualquer consulta a tabelas personalizadas deve ser realizada através dessas funções.$wpdbO objeto é processado.

Como garantir que o meu plugin seja compatível com outros plugins ou temas?

As melhores práticas para manter a compatibilidade são: usar a API principal do WordPress e os ganchos (hooks) padrão; adicionar prefixos únicos aos nomes de funções, classes e opções (por exemplo, utilizando abreviaturas de plugins); encapsular funcionalidades em classes ou namespaces para evitar conflitos de nomes; evitar modificar variáveis globais diretamente; e verificar se algo já existe antes de realizar operações que podem afetar o estado global do sistema (como registrar atalhos ou criar tipos de artigos personalizados). Antes de publicar o código, teste-o em o máximo de ambientes diferentes possível.