@package & @subpackage: cara menggunakan tema anak

8

Masalah saya adalah dengan @packagedan @subpackage.

Saya pergi ke tautan yang disarankan (Untuk apa paket dan sub-paket komentar? ). Di sana saya tidak menemukan apa pun yang dapat saya terapkan untuk masalah saya tetapi sebaliknya jawaban ini: "Ini adalah tag PHPDoc - digunakan untuk menghasilkan dokumentasi kode yang bermakna (dan otomatis)". Inilah yang saya miliki sekarang:

/**

* 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

*/

Ini bukan tema anak dua puluh sepuluh. Ada folder dalam folder tema-nama: functions. Tema anak saya ada di folder lain. Saya telah menyimpan functions.phpfile ke folder tema anak saya. Tidak ada yang terjadi (mengubah konten) baik ketika saya mengubah sub paket nama folder saya atau meninggalkan Functionskata di sana.

Apa yang harus saya letakkan di sini?

/**

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

Jawaban:

4

Sama seperti dokumentasi asli yang Anda temukan mengatakan, ini adalah tag PHPDocumenter. Mereka sama sekali tidak memengaruhi kode Anda, jadi mengubahnya tidak akan melakukan apa pun.

Namun, mereka berguna untuk alat otomatis yang mem-parsing kode Anda dan membuat dokumentasi yang dapat dibaca manusia. PHPXref ini adalah contoh dari versi WordPress yang diuraikan.

Di WordPress, @packagebiasanya WordPress. The @subpackageadalah apa pun modul yang Anda cari di. Jadi, misalnya, bagian atas WP_Httpkelas berisi:

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

Dalam kasus Anda, @packageakan menjadi nama tema Anda. @subpackageadalah opsional dan hanya benar-benar relevan jika Anda memiliki modul lain di dalam tema Anda - functions.phpfile Anda sebenarnya bukan subpackage dari tema, jadi saya akan menghilangkan tag dalam hal ini.

Tema anak tidak harus mewarisi @package/ @subpackagestruktur orang tua mereka, baik. Gunakan apa yang masuk akal untuk proyek Anda karena, sungguh, komentar dan catatan ini khusus untuk membantu orang lain memahami struktur proyek Anda.

EAMann
sumber
Hai, Terima kasih atas jawaban Anda. Saya baru saja meninggalkan nama paket nama saya mereka (semoga saya mengerti dengan benar). File .php yang saya miliki ada di folder fungsi di tema anak saya seperti di tema induk. Saya belum bisa membuatnya jadi saya pikir masalahnya adalah dengan cara paket dan subpackage merujuk ke item lain. Bukan kasus dari apa yang Anda katakan dan bagaimana itu masih tidak berfungsi. Bagaimana cara membuat file .php bekerja? (Atau haruskah ini utas baru?)
Marie
Apakah Anda menggunakan include()atau require()di functions.phpfile utama Anda untuk memasukkan file PHP baru? Jika tidak, maka tidak akan pernah dimuat. Saya akan mengatakan untuk membuka utas baru, tetapi memasukkan file PHP bukan masalah khusus WP; jadi jika Anda melakukan buka thread baru saya akan mendorong Anda untuk melakukannya pada Stack Overflow.
EAMann
4

Rule of thumb: apakah kode Anda dibundel (yaitu dikemas ) dengan kode apa saja yang ditunjukkan oleh @package? Jika tidak, maka Anda menggunakan nilai yang salah untuk @package.

Untuk sebagian besar Tema, ini mudah:

  • Tema Inti-bundled menggunakan @package: WordPressdan @subpackage Theme-Name, karena mereka dikemas dan didistribusikan dengan WordPress itu sendiri
  • Semua Tema lain digunakan @package: Theme-Name, karena mereka dikemas dan didistribusikan secara terpisah dari WordPress.

Semua Tema adalah lapisan abstraksi dari WordPress itu sendiri, dan bergantung pada WordPress untuk menjadi output. Tetapi ketergantungan itu tidak menjadikannya @subpackageWordPress.

Saya akan menerapkan aturan ini untuk Tema Anak juga. Mereka adalah paket yang berdiri sendiri, dikemas dan didistribusikan secara terpisah dari Tema Induk / Templat tempat mereka bergantung.

Chip Bennett
sumber
1

Itu adalah tag dokumentasi. Anda menggunakannya untuk mengelompokkan bit kode terkait untuk keperluan dokumentasi kode. Wikipedia memiliki bagan yang bagus dengan berbagai tag yang tersedia. Dokumentasi resmi ada di http://www.phpdoc.org/ .

Tidak ada yang terjadi (mengubah konten) baik ketika saya mengubah sub-paket nama folder saya atau meninggalkan kata "Fungsi" di sana.

Baik. Tidak ada yang terjadi. Ini hanya untuk dokumentasi kode. Anda tidak akan melihat apa pun sampai Anda menjalankan kode Anda melalui skrip PHPDoc, yang akan menghasilkan dokumentasi tetapi tidak akan mengubah cara kerja kode Anda.

Gunakan @packageuntuk mengidentifikasi tema Anda. Gunakan @subpackage, jika Anda mau, untuk mengelompokkan fungsi-fungsi di dalam tema - katakan file penuh widget khusus tema atau sesuatu.

Apa bedanya termasuk menyertakan penjelasan paket @ atau tidak?

http://codex.wordpress.org/Inline_Documentation

s_ha_dum
sumber