Intereting Posts
Показывать несколько tax_query от 2 или более post_type в одном коде Пользовательское облако тегов таксономии? Как добавить категории в редактор страниц? даты / времени и полей загрузки файлов (изображений) для настраиваемых полей (например, с большим количеством полей) Каков наиболее эффективный способ включить этот javascript только в одном сообщении? Все возможные способы получения данных (сообщений) из WordPress Где я могу изменить тег заголовка ACTUAL, который установлен в header.php Меню WordPress Super Admin не включено Как реализовать кеш файловой системы в WordPress Как использовать get_option () без фильтра? Как принудительно выполнить запрос? Wp PageNavi работает только с постоянными значениями по умолчанию для настраиваемого типа сообщений? Как запустить два блогов WordPress с разными темами и с единой базой данных и одним контентом Сообщения, просматриваемые Внедрение пользовательского SQL-запроса в страницу / тему

Интеграция плагинов в темы

Я не мог найти нить, обсуждающую это, поэтому начинаю с этого.

В настоящее время я работаю над довольно сложной темой для 3.1+, и, в общем, я имею в виду, что помимо стиля и регулярной функциональности переднего плана я включаю в себя плагины в основе темы, как для внутренних, так и для интерфейсных , Итак, чтобы это было немного более организованным, я разделил это на три вопроса:

  1. Является ли интеграция плагинов обычной практикой?
  2. Каковы последствия / осложнения в отношении автоматического обновления темы / плагинов?
  3. Каким будет наиболее оптимизированный способ включения каждого плагина без нарушения существующей функциональности?

Solutions Collecting From Web of "Интеграция плагинов в темы"

1) Является ли интеграция плагинов обычной практикой?

На самом деле, нет. Обычно у вас есть тема, которая предлагает базовую функциональность. Затем вы расширяете тему только плагинами для специальных целей, таких как твиттер, календари событий и т. Д.

Имо это имеет смысл. В настоящее время я работаю над чрезвычайно тонкой темой, в которой есть некоторые плагины (подход ООП), которые поставляются в виде плагинов, но не связаны. Эти плагины предлагают шаблонные теги для разбивки на страницы, панировочные сухари, … даже цикл с форматами сообщений. Мне нравится идея предлагать функциональность только в том случае, если пользователь действительно этого хочет. Напр. система комментариев редко нужна, если вы используете WP как CMS для домашней страницы buisness, поэтому почему тема должна предлагать это? Еще один профессионал для этого подхода: вы просто отключите плагин и обмениваете теги шаблонов с помощью настраиваемых материалов, если вам это не нужно.

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

2) Каковы последствия / осложнения в отношении автоматического обновления темы / плагинов?

Это то, что я сейчас задаю себе. Я подумал о массивной рутине, которая проверяет обновления как темы, так и плагинов, но в целом: это бессмысленно. Имо даже лучше, если вы просто используете встроенную систему обновления (или используете какой-то пользовательский класс, если вы не размещаете на официальном репо). Почему: вы обновляете только то, что действительно нужно обновлять. Это экономит время и энергию, поэтому я бы назвал это «более экологичным» способом.

3) Каким будет наиболее оптимизированный способ включения каждого плагина без нарушения существующих ранее функциональных возможностей?

Что конкретно в вашем случае есть уже существующие функции?

Имена функций

WordPress получил около 2,500 функций, которые читаются по запросу. Поэтому спрашивайте, if ( function_exists('whatever') ) никогда не бывает хорошей идеей. Лучше использовать уникальные имена. У Джан Фабри была хорошая идея: он префиксирует все свои функции ответа здесь с помощью wpse и номером Q-примера: wpse14277_function_name() . 4 или 5-значный номер в сочетании с альфами, вероятно, останется уникальным. Представьте, что вы получили 50 пользовательских функций в своей теме и ставите под сомнение их по сравнению с 2.500 за запрос (вы можете сами сделать математику) – это не работает.
Редактировать:
Если вы просто хотите узнать, активен ли плагин, используйте условный тег is_plugin_active() .

  1. Да, все, что вы встраиваете в functions.php, можно технически переустановить в плагин и распределить, то же самое происходит в обратном порядке.
  2. Вам придется немного обработать аспект версии. С плагинами, каждый раз, когда вы вносите изменения, вам нужно обновить только этот плагин. С темой каждое небольшое изменение обновит всю тему. Это не большая проблема, на самом деле это может быть немного более удобно, поскольку WordPress будет предупреждать пользователей, когда обновление темы доступно так же, как и предупреждения для плагинов.
  3. Убедитесь, что вы переименовали функции, чтобы сделать их уникальными, иначе вы столкнетесь с сбоями, когда функции будут повторно объявлены. Мне легче всего настроить функцию с названием своей темы. plugin_function () станет theme_plugin_function ().

Если вы обнаружите, что ваши функции.php становятся немного здоровенными и дезорганизованными, вы можете создать больше .php-файлов в своей теме, чтобы помочь организовать вещи, а затем вызвать эти файлы в functions.php через include_once ('path / filename.php'). ,

Чтобы быть понятным, вы говорите о том, что код уже существует как автономные полнофункциональные плагины?

Является ли интеграция плагинов обычной практикой?

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

Каковы последствия / осложнения в отношении автоматического обновления темы / плагинов?

Обновление перезаписывает все с новой версией.

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

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