@package & @subpackage: cách sử dụng với các chủ đề con


8

Vấn đề của tôi là với @package@subpackage.

Tôi đã đi đến liên kết được đề xuất ( Nhận xét gói và gói phụ để làm gì? ). Ở đó tôi không tìm thấy bất cứ điều gì tôi có thể áp dụng cho vấn đề của mình mà thay vào đó là câu trả lời: Đây là những thẻ PHPDoc - được sử dụng để tạo tài liệu mã có ý nghĩa (và tự động). Đây là những gì tôi có bây giờ:

/**

* 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

*/

Đây không phải là một chủ đề con của hai mươi mười. Có một thư mục trong thư mục tên chủ đề : functions. Chủ đề con tôi là trong một thư mục khác. Tôi đã lưu các functions.phptập tin vào thư mục chủ đề con của tôi. Không có gì xảy ra (thay đổi nội dung) khi tôi thay đổi gói con tên thư mục của tôi hoặc để lại Functionstừ đó.

Tôi nên đặt cái gì ở đây?

/**

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

*/

Câu trả lời:


4

Nguyên tắc chung: mã của bạn có được đóng gói (tức là được đóng gói ) với bất kỳ mã nào được chỉ định bởi @package? Nếu không, thì bạn đang sử dụng một giá trị không chính xác cho @package.

Đối với trường hợp của hầu hết các Chủ đề, điều này thật dễ dàng:

  • Chủ đề được gói lõi sử dụng @package: WordPress@subpackage Theme-Name, vì chúng được đóng gói và phân phối với chính WordPress
  • Tất cả các Chủ đề khác đều sử dụng @package: Theme-Name, vì chúng được đóng gói và phân phối riêng biệt với WordPress.

Tất cả Chủ đề là một lớp trừu tượng của chính WordPress và dựa vào WordPress để được xuất. Nhưng sự phụ thuộc đó không làm cho họ trở thành một @subpackageWordPress.

Tôi cũng sẽ áp dụng quy tắc này cho Chủ đề trẻ em. Chúng là một gói độc lập, được đóng gói và phân phối riêng biệt với Chủ đề Phụ huynh / Mẫu mà họ dựa vào.


3

Giống như tài liệu gốc mà bạn tìm thấy nói, đây là các thẻ PHPDocumenter. Chúng hoàn toàn không ảnh hưởng đến mã của bạn, vì vậy việc thay đổi chúng sẽ không làm gì cả.

Tuy nhiên, chúng rất hữu ích cho các công cụ tự động phân tích mã của bạn và tạo tài liệu có thể đọc được. PHPXref này là một ví dụ về phiên bản phân tích cú pháp của WordPress.

Trong WordPress, @packageđiển hình là WordPress. Đây @subpackagelà bất cứ mô-đun nào bạn đang xem. Vì vậy, ví dụ, phần trên cùng của WP_Httplớp chứa:

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

Trong trường hợp của bạn, @packagesẽ là tên của chủ đề của bạn. @subpackagelà tùy chọn và chỉ thực sự phù hợp nếu bạn có các mô-đun khác trong chủ đề của mình - functions.phptệp của bạn không thực sự là một gói con của chủ đề, vì vậy tôi đã bỏ qua thẻ trong trường hợp đó.

Các chủ đề con cũng không phải kế thừa @package/ @subpackagecấu trúc của cha mẹ chúng. Sử dụng những gì có ý nghĩa cho dự án của bạn bởi vì, thực sự, những nhận xét và ghi chú này là cụ thể để giúp người khác hiểu cấu trúc của dự án của bạn.


Xin chào, Cảm ơn tất cả các câu trả lời của bạn. Tôi vừa để lại tên gói tên của họ (hy vọng tôi đã hiểu chính xác). Tệp .php tôi có trong một thư mục chức năng trong chủ đề con của tôi vì nó nằm trong chủ đề chính. Tôi đã không thể làm cho nó hoạt động vì vậy tôi nghĩ rằng vấn đề là do cách gói và gói phụ được đề cập đến các mục khác. Không phải trường hợp từ những gì bạn nói và làm thế nào nó vẫn không hoạt động. Làm thế nào để tôi có được tập tin .php để làm việc? (Hay đây có phải là một chủ đề mới không?)
Marie

Bạn đang sử dụng include()hoặc require()trong functions.phptệp chính của mình để bao gồm tệp PHP mới? Nếu không, nó sẽ không bao giờ được tải. Tôi muốn nói để mở một luồng mới, nhưng bao gồm các tệp PHP không phải là vấn đề cụ thể của WP; vì vậy nếu bạn làm mở một chủ đề mới Tôi sẽ khuyến khích bạn làm như vậy trên Stack Overflow.
EAMann


0

Đó là những thẻ tài liệu. Bạn sử dụng chúng để nhóm các bit mã liên quan cho các mục đích của tài liệu mã. Wikipedia có một biểu đồ tốt với các thẻ khác nhau có sẵn. Tài liệu chính thức có tại http://www.phpdoc.org/ .

Không có gì xảy ra (thay đổi nội dung) khi tôi thay đổi gói con tên thư mục của mình hoặc để lại từ Chức năng của Nhà ở đó.

Đúng. Chẳng có gì xảy ra. Đây chỉ là tài liệu mã. Bạn sẽ không nhận thấy bất cứ điều gì cho đến khi bạn chạy mã thông qua tập lệnh PHPDoc, nó sẽ tạo tài liệu nhưng sẽ không thay đổi cách mã của bạn hoạt động.

Sử dụng @packageđể xác định chủ đề của bạn. Sử dụng @subpackage, nếu bạn muốn, để nhóm các chức năng trong chủ đề-- giả sử một tệp chứa đầy các tiện ích cụ thể của chủ đề hoặc một cái gì đó.

Có gì khác biệt bao gồm chú thích @package hay không?

http://codex.wordpress.org/Inline_Documentation

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.