@package & @subpackage: come utilizzare i temi secondari


8

Il mio problema è con @packagee @subpackage.

Sono andato al link suggerito (A cosa servono i commenti sul pacchetto e sul pacchetto secondario? ). Lì non ho trovato nulla che potessi applicare al mio problema, ma invece questa risposta: "Questi sono tag PHPDoc - usati per generare una documentazione di codice significativa (e automatizzata)". Questo è quello che ho ora:

/**

* 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

*/

Questo non è un tema figlio di ventisei. C'è una cartella nella cartella del tema-name: functions. Il tema di mio figlio si trova in un'altra cartella. Ho salvato il functions.phpfile nella cartella dei temi di mio figlio. Non succede nulla (cambiando il contenuto) quando cambio il pacchetto secondario il nome della mia cartella o lascio Functionslì la parola.

Cosa dovrei mettere qui?

/**

* 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 ???

*/

Risposte:


4

Proprio come dice la documentazione originale che hai trovato, questi sono tag PHPDocumenter. Non hanno alcun impatto sul tuo codice, quindi cambiarli non farà nulla.

Tuttavia, sono utili per strumenti automatizzati che analizzano il codice e creano documentazione leggibile. Questo PHPXref è un esempio di una versione analizzata di WordPress.

In WordPress, in @packagegenere è WordPress. È il @subpackagemodulo che stai guardando. Quindi, ad esempio, la parte superiore della WP_Httpclasse contiene:

/**
 * 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
 */

Nel tuo caso, @packagesarebbe il nome del tuo tema. @subpackageè facoltativo e pertinente solo se hai altri moduli all'interno del tuo tema: il tuo functions.phpfile non è in realtà un sotto-pacchetto del tema, quindi in questo caso ometterei il tag.

Anche i temi dei bambini non devono ereditare la @package/ @subpackagestruttura dei loro genitori. Usa ciò che ha senso per il tuo progetto perché, in realtà, questi commenti e note sono specifici per aiutare gli altri a capire la struttura del tuo progetto.


Ciao, grazie a tutti per le risposte. Ho appena lasciato il nome del pacchetto il mio nome (speriamo di aver capito bene). Il file .php che ho è in una cartella di funzioni nel tema di mio figlio come nel tema principale. Non sono stato in grado di farlo funzionare, quindi ho pensato che il problema riguardasse il modo in cui pacchetto e subpackage si riferivano ad altri articoli. Non è il caso di quello che dici e di come non funziona ancora. Come posso far funzionare il file .php, per favore? (O dovrebbe essere una nuova discussione?)
Marie

Stai utilizzando include()o require()nel tuo functions.phpfile principale per includere il nuovo file PHP? In caso contrario, non verrà mai caricato. Direi di aprire un nuovo thread, ma includere i file PHP non è un problema specifico di WP; quindi se si fa aprire un nuovo thread Vi incoraggio a farlo su Stack Overflow.
EAMann,

4

Regola empirica: il tuo codice è raggruppato (cioè impacchettato ) con qualunque codice indicato da @package? Se no, allora stai usando un valore errato per @package.

Nel caso della maggior parte dei temi, questo è facile:

  • I temi in bundle di base utilizzano @package: WordPresse @subpackage Theme-Name, poiché sono impacchettati e distribuiti con WordPress stesso
  • Tutti gli altri temi utilizzano @package: Theme-Name, perché sono impacchettati e distribuiti separatamente da WordPress.

Tutti i temi sono un livello di astrazione di WordPress stesso e si basano su WordPress per essere stampati. Ma quella dipendenza non li rende @subpackagedi WordPress.

Vorrei applicare questa regola anche ai temi dei bambini. Sono un pacchetto autonomo, impacchettato e distribuito separatamente dal tema Parent / Template su cui si basano.


1

Quelli sono tag di documentazione. Li usi per raggruppare bit di codice correlati ai fini della documentazione del codice. Wikipedia ha un buon grafico con i diversi tag disponibili. La documentazione ufficiale è disponibile all'indirizzo http://www.phpdoc.org/ .

Non succede nulla (cambiando il contenuto) quando cambio il pacchetto secondario il nome della mia cartella o lascio lì la parola "Funzioni".

Giusto. Non accade nulla. Questo è solo per la documentazione del codice. Non noterai nulla finché non eseguirai il codice tramite lo script PHPDoc, che genererà documentazione ma non cambierà il funzionamento del codice.

Utilizzare @packageper identificare il tema. Utilizzare @subpackage, se si desidera, per raggruppare le funzioni all'interno del tema, ad esempio un file pieno di widget specifici del tema o qualcosa del genere.

Che differenza fa includendo l'annotazione @package o no?

http://codex.wordpress.org/Inline_Documentation


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.