Estou desenvolvendo alguns plugins de código aberto e um tema (todos parte de um "conjunto") que todos usam a mesma biblioteca PHP de terceiros. Gostaria de saber qual é a melhor maneira de incluí-lo no Wordpress. Aqui estão alguns pensamentos:
- coloque-o em um dos plugins e exija que ele seja instalado e ativado
- crie um plugin "core" especial que não faz nada além de incluí-lo
- coloque diretamente
wp-content
Alguma idéia sobre esse assunto?
Respostas:
Se cada plugin / tema funcionar por conta própria, provavelmente você deverá soltar a biblioteca em cada tema / plugin.
Em seguida, basta verificar se existe uma classe ou função da biblioteca de terceiros antes de solicitá-la.
ou
Como alternativa, você pode agrupar todas as funções / classes / variáveis / constantes da biblioteca de terceiros em uma verificação para ver se ela existe, como funções conectáveis .
Se todos os plugins e o tema dependem um do outro, não faz muito sentido dividi-los e você provavelmente deve repensar isso.
fonte
library
pasta em cada plugin / tema. Em seguida, no seu arquivo principal de plug-in, execute a verificação e inclua-os, se necessário.Vincule todo o código dependente a uma ação no plug-in da biblioteca.
Código de amostra para o plugin da biblioteca:
No seu código dependente, não faça nada antes da ação ser chamada:
A biblioteca lida com todas as partes básicas: verifique a versão adequada do PHP, constantes do WordPress, configurações de vários sites etc.
O outro código não fará nada se a ação
'library_loaded'
não for chamada.fonte
Adicionando a resposta por chrisguitarguy, se suas bibliotecas estão na forma de classes PHP, você pode utilizar spl_autoload_register () para carregar essas classes se elas ainda não foram carregadas por outro plugin. Você pode agrupar as bibliotecas no seu plug-in e apenas usá-las, contando com o carregador de classes para incluí-las quando apropriado. Você também pode usar o carregador de classes para carregar as classes do seu próprio plugin.
por exemplo
fonte
Como não existe um diretório oficial do fornecedor , eu usaria o plug-in "core" que não faz nada além de incluir a biblioteca. Em seguida, você faz com que seus plugins exijam esse plug-in principal.
Colocar a biblioteca em um de seus plug-ins reais exigiria que o usuário tivesse esse plug-in ativado, mesmo que ele nunca queira usar sua funcionalidade. Um plug-in principal separado parece mais limpo.
Colocá-lo diretamente no conteúdo wp parece a pior solução.
fonte