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

*/

Ответы:


4

Как и в оригинальной документации, которую вы нашли, это теги PHPDocumenter. Они совсем не влияют на ваш код, поэтому их изменение ничего не изменит.

Однако они полезны для автоматизированных инструментов, которые анализируют ваш код и создают удобочитаемую документацию. Этот PHPXref является примером разобранной версии WordPress.

В WordPress это, как @packageправило, WordPress. Это тот @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, который находится в папке функций в моей дочерней теме, как и в родительской теме. Я не смог заставить его работать, поэтому я подумал, что проблема в том, как пакет и подпакет ссылаются на другие элементы. Не тот случай, что вы говорите, и как это все еще не работает. Как мне получить файл .php для работы, пожалуйста? (Или это должна быть новая тема?)
Marie

Используете ли вы include()или require()в свой основной functions.phpфайл, чтобы включить новый файл PHP? Если нет, то он никогда не будет загружен. Я бы сказал, чтобы открыть новый поток, но включение файлов PHP не является проблемой, специфичной для WP; так что если вы делаете открыть новую тему , я хотел бы призвать вас сделать это на переполнение стека.
EAMann

4

Основное правило: связан ли ваш код (т.е. упакован ) с кодом, обозначенным значком @package? Если нет, то вы используете неверное значение для @package.

Для большинства тем это легко:

  • Основные темы используют @package: WordPressи @subpackage Theme-Name, потому что они упакованы и распространяются вместе с самим WordPress
  • Все остальные темы используют @package: Theme-Name, потому что они упакованы и распространяются отдельно от WordPress.

Все темы представляют собой абстракционный слой самого WordPress и полагаются на WordPress для вывода. Но эта зависимость не делает их @subpackageиз WordPress.

Я бы применил это правило и к темам для детей. Они представляют собой отдельный пакет, упакованный и распространяемый отдельно от родительской / шаблонной темы, на которую они полагаются.


1

Это теги документации. Вы используете их для группировки связанных битов кода в целях документирования кода. В Википедии есть хороший график с различными доступными тегами. Официальная документация находится на http://www.phpdoc.org/ .

Ничего не происходит (при изменении содержимого), когда я меняю подпакет на имя своей папки или оставляю там слово «Функции».

Правильно. Ничего не произошло. Это только для документации кода. Вы ничего не заметите, пока не запустите свой код через скрипт PHPDoc, который сгенерирует документацию, но не изменит работу вашего кода.

Используйте @packageдля определения вашей темы. Используйте @subpackage, если хотите, чтобы сгруппировать функции внутри темы - скажем, файл, полный виджетов, специфичных для темы, или что-то еще.

Какая разница, включая аннотацию @package или нет?

http://codex.wordpress.org/Inline_Documentation


1

@packageУказать пакеты для групповых занятий или функции и определяет в, также темы для WordPress. @subpackageЯвляется ребенком темы, как функциональность для требования конкретного или темы ребенка, субпакета.

Небольшая подсказка к документу о тегах phpdoc: http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.