@package & @subpackage: como usar com temas filhos

8

Meu problema é com @packagee @subpackage.

Eu fui ao link sugerido (para que servem os comentários do pacote e do subpacote? ). Lá, não encontrei nada que pudesse ser aplicado ao meu problema, mas, em vez disso, esta resposta: “Essas são tags PHPDoc - usadas para gerar documentação de código significativa (e automatizada)”. Isto é o que eu tenho agora:

/**

* Contains a list of all custom action hooks and corresponding functions defined for abc.

* This file is included in functions.php:

*

* @package theme-name

* @subpackage Functions

*/

Este não é um tema infantil de vinte e dez. Há uma pasta na pasta do tema-name: functions. Meu tema filho está em outra pasta. Salvei o functions.phparquivo na pasta do meu filho. Nada acontece (alterando o conteúdo) quando altero o subpacote do nome da minha pasta ou deixo a Functionspalavra lá.

O que devo colocar aqui?

/**

* Contains a list of all custom action hooks and corresponding functions defined for abc.

* This file is included in functions.php:

*

* @package theme-name

* @subpackage ???

*/
Marie
fonte

Respostas:

4

Assim como a documentação original encontrada, essas são as tags PHPDocumenter. Eles não afetam seu código, portanto, alterá-los não fará nada.

No entanto, eles são úteis para ferramentas automatizadas que analisam seu código e criam documentação legível por humanos. Este PHPXref é um exemplo de uma versão analisada do WordPress.

No WordPress, @packagenormalmente é o WordPress. O @subpackagemódulo é o que você está procurando. Então, por exemplo, a parte superior da WP_Httpclasse contém:

/**
 * Simple and uniform HTTP request API.
 *
 * Standardizes the HTTP requests for WordPress. Handles cookies, gzip encoding and decoding, chunk
 * decoding, if HTTP 1.1 and various other difficult HTTP protocol implementations.
 *
 * @link http://trac.wordpress.org/ticket/4779 HTTP API Proposal
 *
 * @package WordPress
 * @subpackage HTTP
 * @since 2.7.0
 */

No seu caso, @packageseria o nome do seu tema. @subpackageé opcional e só é realmente relevante se você tiver outros módulos dentro do seu tema - seu functions.phparquivo não é realmente um subpacote do tema, portanto, nesse caso, eu omitiria a tag.

Os temas filhos também não precisam herdar a estrutura @package/ @subpackagedos pais. Use o que faz sentido para o seu projeto, porque, realmente, esses comentários e notas são específicos para ajudar outras pessoas a entender a estrutura do seu projeto.

EAMann
fonte
Olá, Obrigado a todos por suas respostas. Acabei de deixar o nome do pacote com o nome deles (espero ter entendido corretamente). O arquivo .php que eu tenho está em uma pasta de funções no meu tema filho, assim como no tema pai. Como não consegui fazê-lo funcionar, pensei que o problema estava na maneira como o pacote e o subpacote se referiam a outros itens. Não é o caso do que você diz e de como ainda não está funcionando. Como faço para que o arquivo .php funcione, por favor? (Ou isso deve ser um novo segmento?)
Marie
Você está usando include()ou require()no seu functions.phparquivo principal para incluir o novo arquivo PHP? Caso contrário, ele nunca será carregado. Eu diria para abrir um novo segmento, mas incluir arquivos PHP não é um problema específico do WP; Então, se você fazer aberto um novo segmento Eu incentivá-lo a fazê-lo no Stack Overflow.
precisa saber é o seguinte
4

Regra geral: o seu código é empacotado (ou seja, empacotado ) com o código indicado por @package? Se não, você está usando um valor incorreto para @package.

Para o caso da maioria dos temas, isso é fácil:

  • Os Temas com Pacote Principal usam @package: WordPresse @subpackage Theme-Name, porque são empacotados e distribuídos com o próprio WordPress
  • Todos os outros Temas usam @package: Theme-Name, porque são empacotados e distribuídos separadamente do WordPress.

Todos os temas são uma camada de abstração do próprio WordPress e dependem do WordPress para serem produzidos. Mas essa dependência não os torna um @subpackagedos WordPress.

Eu aplicaria essa regra aos Temas filho também. Eles são um pacote independente, empacotado e distribuído separadamente do Tema Pai / Modelo no qual eles dependem.

Chip Bennett
fonte
1

Essas são tags de documentação. Você os utiliza para agrupar bits de código relacionados para fins de documentação do código. A Wikipedia possui um bom gráfico com as diferentes tags disponíveis. A documentação oficial está em http://www.phpdoc.org/ .

Nada acontece (alterando o conteúdo) quando altero o nome da minha pasta ou subpacote ou deixo a palavra "Funções" lá.

Direita. Nada acontece. Isso é apenas para documentação do código. Você não notará nada até executar seu código através do script PHPDoc, o que gerará documentação, mas não mudará o funcionamento do seu código.

Use @packagepara identificar seu tema. Use @subpackage, se quiser, para agrupar funções dentro do tema - diga um arquivo cheio de widgets específicos do tema ou algo assim.

Que diferença faz incluindo a anotação @package ou não?

http://codex.wordpress.org/Inline_Documentation

s_ha_dum
fonte