@package和@subpackage:如何与子主题一起使用


8

我的问题是@package@subpackage

我转到了建议的链接(包和子包有何注释?)。在那里,我没有找到可以解决问题的任何方法,而是得到了以下答案:“这些是PHPDoc标记-用于生成有意义的(自动)代码文档”。这就是我现在所拥有的:

/**

* 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

*/

这不是二十岁的孩子主题。主题名称文件夹中有一个文件夹:functions。我的孩子主题在另一个文件夹中。我已将functions.php文件保存到我的子主题文件夹中。当我更改子包的文件夹名称或在其中保留Functions单词时,都不会发生任何事情(更改内容)。

我应该在这里放什么?

/**

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

*/

Answers:


4

就像您发现的原始文档所说的一样,这些是PHPDocumenter标签。它们根本不会影响您的代码,因此更改它们不会做任何事情。

但是,它们对于解析代码并创建人类可读文档的自动化工具很有用。 此PHPXref是WordPress解析版本的示例。

在WordPress中,@package通常是WordPress。The @subpackage是您正在查看的任何模块。因此,例如,WP_Http该类的顶部包含:

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

就您而言,@package将是您的主题名称。 @subpackage是可选的,并且只有在主题中包含其他模块时才真正相关-您的functions.php文件实际上不是主题的子包,因此在这种情况下,我将省略标签。

儿童主题也不必继承其父母的@package/ @subpackage结构。使用对您的项目有意义的内容,因为实际上,这些注释和注释专用于帮助其他人理解您的项目的结构。


嗨,谢谢大家的回答。我刚刚给程序包名称留下了它们的名称(希望我已经正确理解了)。我拥有的.php文件与父主题一样位于子主题的function文件夹中。我无法使其正常工作,所以我认为问题出在包装和子包装提及其他物品的方式上。从您所说的以及它仍然无法正常工作的情况来看,情况并非如此。请问如何使.php文件工作?(或者这应该是一个新话题?)
Marie

您正在使用include()还是require()在主functions.php文件中包含新的PHP文件?如果没有,那么它将永远不会被加载。我会说要打开一个新线程,但是包含PHP文件不是特定于WP的问题;因此,如果您确实打开了一个新线程,我鼓励您在Stack Overflow上这样做。
EAMann 2013年

4

经验法则:您的代码是否与指示的任何代码捆绑(即打包@package?如果否,则您使用的值不正确@package

对于大多数主题而言,这很容易:

  • 核心捆绑主题使用@package: WordPress@subpackage Theme-Name,因为它们与WordPress本身一起打包和分发
  • 所有其他主题均使用@package: Theme-Name,因为它们与WordPress 分开打包和分发。

所有主题都是WordPress本身的抽象层,并且依赖WordPress才能输出。但是这种依赖性并不能使它们成为@subpackageWordPress的一部分。

我也会将此规则应用于“儿童主题”。它们是独立的程序包,与它们所依赖的父项/模板主题分开打包和分发。


1

这些是文档标签。为了代码文档的目的,您可以使用它们对代码的相关位进行分组。Wikipedia的图表很好,并带有可用的不同标签。官方文档位于http://www.phpdoc.org/

当我更改子包的文件夹名称或在其中保留“功能”一词时,都不会发生任何事情(更改内容)。

对。什么都没发生。这仅用于代码文档。在通过PHPDoc脚本运行代码之前,您不会注意到任何事情,该脚本将生成文档,但不会更改代码的工作方式。

使用@package识别您的主题。使用@subpackage,如果你愿意,给组内的功能theme--说一个完整的主题特定部件或某事的文件。

是否包括@package注释有什么区别?

http://codex.wordpress.org/Inline_Documentation


1

@package指定包组类或函数,并定义为,也为WordPress主题。一个@subpackage是题目的孩子,像一个特定的需求或子主题,子包一个功能。

phpdoc标签文档的小提示:http ://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.