@package e @subpackage: come utilizzarli con i child theme

23 gen 2013, 16:44:36
Visualizzazioni: 14.1K
Voti: 8

Il mio problema riguarda @package e @subpackage.

Sono andato al link suggerito (A cosa servono i commenti package e subpackage?). Lì non ho trovato nulla che potessi applicare al mio problema ma invece questa risposta: "Questi sono tag PHPDoc - utilizzati per generare documentazione del codice significativa (e automatizzata)". Questo è ciò che ho ora:

/**

* Contiene una lista di tutti gli action hook personalizzati e le corrispondenti funzioni definite per abc.

* Questo file è incluso in functions.php:

*

* @package theme-name

* @subpackage Functions

*/

Questo non è un child theme di twenty ten. C'è una cartella nella directory theme-name: functions. Il mio child theme si trova in un'altra cartella. Ho salvato il file functions.php nella cartella del mio child theme. Non succede nulla (cambiando il contenuto) sia quando cambio il subpackage con il nome della mia cartella che quando lascio la parola Functions lì.

Cosa dovrei inserire qui?

/**

* Contiene una lista di tutti gli action hook personalizzati e le corrispondenti funzioni definite per abc.

* Questo file è incluso in functions.php:

*

* @package theme-name

* @subpackage ???

*/
0
Tutte le risposte alla domanda 4
0

Regola generale: il tuo codice è incluso (cioè impacchettato) con il codice indicato da @package? Se no, allora stai usando un valore incorretto per @package.

Nel caso della maggior parte dei Temi, è semplice:

  • I Temi inclusi nel core usano @package: WordPress e @subpackage Nome-Tema, perché sono impacchettati e distribuiti con WordPress stesso
  • Tutti gli altri Temi usano @package: Nome-Tema, perché sono impacchettati e distribuiti separatamente da WordPress.

Tutti i Temi sono un livello di astrazione di WordPress stesso, e dipendono da WordPress per essere visualizzati. Ma questa dipendenza non li rende un @subpackage di WordPress.

Applicherei questa regola anche ai Temi Child. Sono pacchetti autonomi, impacchettati e distribuiti separatamente dal Tema Parent/Template da cui dipendono.

23 gen 2013 17:13:28
2

Come dice la documentazione originale che hai trovato, questi sono tag PHPDocumentor. Non hanno alcun impatto sul tuo codice, quindi modificarli non cambierà nulla.

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

In WordPress, il @package è tipicamente WordPress. Il @subpackage è il modulo che stai esaminando. Quindi, ad esempio, la parte superiore della classe WP_Http contiene:

/**
 * API semplice e uniforme per le richieste HTTP.
 *
 * Standardizza le richieste HTTP per WordPress. Gestisce i cookie, la codifica e decodifica gzip, la decodifica
 * a blocchi, se HTTP 1.1 e varie altre complesse implementazioni del protocollo HTTP.
 *
 * @link http://trac.wordpress.org/ticket/4779 HTTP API Proposal
 *
 * @package WordPress
 * @subpackage HTTP
 * @since 2.7.0
 */

Nel tuo caso, @package sarebbe il nome del tuo tema. @subpackage è opzionale e rilevante solo se hai altri moduli all'interno del tuo tema - il tuo file functions.php non è realmente un subpackage del tema, quindi in quel caso ometterei il tag.

Anche i temi child non devono ereditare la struttura @package/@subpackage 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 comprendere la struttura del tuo progetto.

23 gen 2013 16:59:17
Commenti

Ciao, Grazie a tutti per le vostre risposte. Ho semplicemente lasciato il nome del pacchetto come quello del mio tema (spero di aver capito correttamente).

Il file .php che ho si trova in una cartella di funzioni nel mio child theme, così come nel tema genitore. Non sono riuscito a farlo funzionare, quindi ho pensato che il problema fosse nel modo in cui package e subpackage si riferivano ad altri elementi.

A quanto pare non è così, dato che ancora non funziona. Come posso far funzionare il file .php, per favore? (O dovrei aprire una nuova discussione?)

Marie Marie
24 gen 2013 01:35:27

Stai usando include() o require() nel tuo file principale functions.php per includere il nuovo file PHP? Se non lo fai, allora non verrà mai caricato. Direi di aprire una nuova discussione, ma includere file PHP non è un problema specifico di WP; quindi se decidi di aprire una nuova discussione ti consiglio di farlo su Stack Overflow.

EAMann EAMann
24 gen 2013 17:48:59
0

Il tag @package specifica i pacchetti per raggruppare classi o funzioni e definizioni, anche un tema per WordPress. Un @subpackage è figlio del tema, come una funzionalità per uno specifico requisito o un child theme, un sottopacchetto.

Piccolo suggerimento per la documentazione dei tag phpdoc: http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html

23 gen 2013 16:57:42
0

Questi sono tag di documentazione. Li utilizzi per raggruppare parti di codice correlate a scopo di documentazione del codice. Wikipedia ha un buon grafico con i diversi tag disponibili. La documentazione ufficiale si trova su http://www.phpdoc.org/.

Non succede nulla (cambiando il contenuto) né quando cambio il subpackage con il nome della mia cartella né quando lascio la parola "Functions" lì.

Esatto. Non succede nulla. Questo serve solo per la documentazione del codice. Non noterai alcun cambiamento finché non esegui il tuo codice attraverso lo script PHPDoc, che genererà la documentazione ma non modificherà il funzionamento del tuo codice.

Usa @package per identificare il tuo tema. Usa @subpackage, se vuoi, per raggruppare funzioni all'interno del tema - ad esempio un file pieno di widget specifici del tema o qualcosa del genere.

Che differenza fa includere o meno l'annotazione @package?

http://codex.wordpress.org/Inline_Documentation

23 gen 2013 17:02:13