Os arquivos de plug-in precisam seguir uma convenção específica para serem "escolhidos" pelo WordPress?


8

Eu desenvolvi um plugin usando a convenção normal de nomear o arquivo principal do plugin depois da pasta do plugin (ou seja, prefix-somepluginpara a pasta e prefix-someplugin.phpo arquivo). No entanto, vi alguns plugins que usam a seguinte estrutura:

prefix-someplugin
 - plugin-loader.php // This file just loads src/prefix-someplugin.php
 - /src
    - prefix-someplugin.php

Obviamente, se eles usaram essa estrutura, significa que funciona. A questão é que não tenho certeza de como funciona, daí a minha pergunta. Como o WP sabe qual arquivo carregar como o principal arquivo de plug-in? Eu teria assumido que procurava um arquivo com o nome de uma pasta, apenas adicionando .phpcomo extensão, mas parece que eu estava errado.

O WPjust verifica se wp-content/pluginshá pastas e carrega todos os arquivos encontrados nelas, ou segue uma lógica diferente?

Agradecemos antecipadamente pelas respostas.

Respostas:


9

O WordPress detecta um arquivo como plug-in quando há um cabeçalho de plug-in. Assim, você pode armazenar vários plugins em um diretório e todos serão reconhecidos como plugins diferentes.

Cada arquivo com pelo menos /* Plugin Name: something */é um plugin.

O motivo é que o WordPress verifica todos os arquivos PHP no diretório principal de um plugin.

Você pode usar qualquer nome para o arquivo de plug-in. Evite arquivos que não sejam de plug-in no diretório principal. Eles apenas comem tempo de execução. Coloque todos os outros arquivos PHP em subdiretórios.



A-ha! Agora eu entendi. Eu verifiquei o arquivo do carregador de plugins e ele contém o cabeçalho do plug-in, que normalmente está no arquivo principal do plug-in. Parece que o autor simplesmente dividiu o arquivo em dois (um com apenas cabeçalho + carregador e outro com código de plug-in), para que todo o material do plug-in esteja dentro srce os testes entrem test. Obrigado pela resposta. :) #
Diego
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.