Intereting Posts
как вызывать последнее сообщение в цикле (только те, что до чтения больше) Ограничить доступ админ-загрузок к определенным зарегистрированным пользователям? Параметры темы: если нет ввода, не отображается? Проблема с wp_list_categories Как сделать 2 подобных функции более эффективными Как определить максимальную ширину для содержимого в редакторе сообщений на основе шаблона страницы? Определить имя плагина из фильтра plugin_action_links WP Config для учетных данных FTP Получение упорядоченной таксономии в порядке, но исключая конкретные налоговые идентификаторы Помощь с walker для nav Скачать ссылку на CPT Создание и публикация эскизов Базовая аналитика в многопользовательской сети WordPress перебирать сообщения и отображать вставленные носители и опубликовать заголовок в виде ссылки Сортировка по наличию / на складе, затем по другим критериям в WooCommerce

Совместное использование общих функций (функций, частей шаблона) между плагинами и темами?

Если тема и плагин имеют общую функциональность, каким будет лучший способ поделиться им?

Примером этого является тема и плагин (например, недавний виджет сообщений) с использованием той же части шаблона, например, content-post.php . Или функция, которую используют как тема, так и плагин?

Идея состоит в том, что тема может зависеть от плагина, но плагин также должен иметь функцию функции отдельно. Это единственный способ дублирования шаблонов / функций?

Важно, чтобы плагин и тема были полностью функциональны сами по себе. Давайте рассмотрим определение Codex как темы, так и плагина:

  • Плагины WordPress позволяют легко изменять, настраивать и улучшать сайт WordPress.
  • Темы WordPress – это файлы, которые работают вместе для создания дизайна и функциональности сайта WordPress.

Роль темы заключается в создании дизайна и функциональности, роль плагина в том, чтобы модифицировать , настраивать и улучшать его. Это показывает разделение проблем, где тема является базой и плагин расширения. Совместное использование любых функций между этими двумя является плохой практикой, поскольку создает связь в системе, что препятствует переносимости и поддерживаемости кода.

Так вы должны просто дублировать и повторять код? Нет. Используйте тему как отдельную базу и создавайте плагины для расширения ее функциональности, не повторяйте ее в обоих местах. Существует понятие «территория плагина» – вещи, которые должны быть реализованы не внутри темы, а как пользовательские плагины, вы можете прочитать об этом подробнее.

В идеале, ваши плагины должны распространяться только на основные функциональные возможности WP, но для более крупных проектов принято распространять плагины, предназначенные для конкретной темы. Но даже тогда вы должны разработать плагин в самом «независимом» способе, поэтому при переключении темы реализация функциональности плагина будет очень простой. И, конечно же, вы должны сделать любую функциональность, которая зависит друг от друга условно. Проверьте, активен ли плагин, если вы должны реализовать его конфигурацию или функциональность внутри своей темы, а не где-то в пользовательском интерфейсе администратора.