Ao desenvolver um plugin, existe uma maneira de determinar automaticamente a versão mínima do WordPress necessária para executá-lo? Quero garantir que o Requires
cabeçalho seja preciso, mas verificar manualmente toda vez que chamo uma nova função principal é tedioso e propenso a erros.
Eu estou pensando que um script poderia descobrir com bastante facilidade:
- Analise todos os arquivos em um plugin.
- Analisar todas as instâncias de classe e chamadas de função com base no
new foo( [...] )
,foo::bar( [...] )
,bar( [...] )
,call_user_func( [...] )
, etc sintaxe. - Analise a fonte do WP para determinar quando cada uma dessas classes / funções foi adicionada ao WordPress, usando a
@since
tag phpDoc. - Gere um relatório listando cada classe / função e a versão que foi adicionada, juntamente com a versão mais antiga do WordPress, que inclui todas as classes / funções.
Olhei em volta, mas não consegui encontrar nada parecido, e não tenho tempo para escrevê-lo. Alguém sabe de uma solução existente?
Respostas:
Encontrei uma solução como serviço automatizado em http://wpseek.com/pluginfilecheck/
É exatamente o que foi solicitado, incluindo a geração da lista de funções usadas e uma sugestão para os comentários do Plugin-Header.
fonte
Atualização: isso não é mais preciso. Veja a resposta de carstenbach .
Bem, parece que a resposta é "Não, não existe uma solução existente para isso".
Se alguém quiser escrever um, pode ser útil:
Eu acho que o comentário de Mark sobre a criação do recurso no repositório WordPress.org é uma idéia muito boa, mas pode ser algo que a comunidade precisa criar primeiro para provar que é útil, antes que a equipe principal considere adicioná-lo.
fonte
Bem, este é mais um ponto de partida, mas há uma boa lista de funções do WP e as versões em que foram adicionadas / removidas aqui . Infelizmente, ele só sobe para o WP 3.0.1, mas se você estiver usando o 3.0 como linha de base, isso ajudará pelo menos - se não estiver na lista, foi adicionado mais tarde. Você pode enviar um e-mail para Ozh e pedir que ele atualize a lista e, se um de nós entender, alguém pode criar um plug-in para verificar (como um verificador de reprovação reversa ).
ETA: Per @mrwweb - Lista de ganchos de Adam Brown ! Atual para 3.3 e volta para 1.2.1, que ninguém em sã consciência estaria executando mais (data de lançamento em 6 de outubro de 2004).
fonte
Eu acho que a resposta está nos avisos preteridos - você deve estar desenvolvendo com WP_DEBUG true - se você os exibe ou registra, é a sua chamada, mas o WP notificará você se você usar uma função preterida.
Seria possível analisar o @since como você diz, mas as ferramentas podem levá-lo tão longe - a familiaridade com a base de código e a verificação manual podem ser o caminho a percorrer.
fonte