Разница между темой и плагином?


9

Мне любопытно, каковы конкретные различия между темой и плагином. Я понял суть ... темы имеют отношение к внешнему виду (html / css), а плагины - к добавлению функциональности (code / php). Тем не менее, такая тема, как популярный Twitter, вдохновленный P2, кажется, добавляет функциональность ... а не просто улучшает внешний вид. Это оставляет меня немного смущенным. Может ли кто-нибудь на этой бирже обменять меня?

Очень признателен.

Эдди

Ответы:


13

Темы управляют отображением и макетом вашего блога, но также могут добавить функциональность.

Плагины добавляют функциональность вашему блогу, но также могут добавлять элементы в макет.

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

Темы

Темы определяют шаблоны, используемые для каждой страницы. В общем, index.phpв теме используется практически все. Вы можете разбить , что, и создать отдельный header.phpи , footer.phpкак хорошо. Тогда вы можете добавить sidebar.php. Я уверен, что вы уже видели по крайней мере эти четыре файла - один для определения верхнего колонтитула, один для определения боковой панели, один для определения нижнего колонтитула и один для их объединения и размещения вокруг основного содержимого.

Кроме того, вы можете определить single.phpстиль отдельной записи, page.phpстиль отдельных страниц и т. Д.

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

Плагины

Плагины, с другой стороны, могут добавлять дополнительные элементы для использования темами и в других местах. Плагин может добавить кнопку «Нравится» на Facebook, которую ваша тема затем может добавить к сообщениям и страницам. Другой плагин может добавить виджет на панель администратора для доступа к каналу Google Reader и управления им - это не отражается на макете вашего сайта, но добавляет функциональность. Еще один плагин может автоматически публиковать сообщения в Твиттере, когда вы публикуете новое сообщение.

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


Немного поздно, но как насчет пользовательских предложений и запросов. Будут ли они частью темы или плагина?
Мэнни Флермонд

Не уверен, что вы подразумеваете под пользовательскими предложениями, но пользовательские запросы будут / должны обрабатываться плагинами. Если вы используете подход MVC, представьте, что сам WordPress предоставляет модель (и базовый уровень доступа к данным), тему, предоставляющую представление, и плагины (в дополнение к определенным частям WordPress), предоставляющие контроллер.
EAMann

Возможная интерпретация вышеизложенного состоит в том, что темы определяют страницы, но отдельные блоки и шаблоны создаются с помощью плагинов. Это неверно, поскольку подразумевает, что плагины == частичные шаблонов или что плагины являются шаблонами виджетов, что не соответствует действительности. Можете ли вы отредактировать ответ, чтобы было понятнее, что плагины предназначены для логики, а темы - для разметки / визуальных элементов?
Том Дж. Новелл

2

Вообразите таким образом! Тема определяет ОСНОВНУЮ СТРУКТУРУ для всего сайта! Тема - это что-то вроде структуры сообщения, страницы или пользовательского типа сообщения, пользовательской страницы, ..! Итак, вы знаете, что тема действительно HTML-код! В конце оправдания Wordpress, он возвращает HTML-код в браузер, и отображение браузера для вас! Этот HTML построен на основе файла темы (index.php, header.php, footer.php, single.php)

Плагины используют hook & filter для изменения темы ДО того, как мы выведем в браузер!

Пример: если вы хотите добавить социальные кнопки в конец сообщения! Вы можете изменить single.php и добавить код, чтобы разместить социальную кнопку прямо под the_content ()!

Но вы можете создать плагин, чтобы использовать фильтр WordPress и ловушку для изменения HTML поста, чтобы добавить вам социальные кнопки!

Вы можете использовать ловушку, чтобы добавить javascript, сделать некоторый логический код, затем визуализировать HTML на основе этого результата, а затем добавить или заменить что-либо с помощью ловушки и фильтра Wordpress!

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

Так что, пока WordPress может каким-то образом включать ваш код и запускать его! Пока ваш код запускает его, он может сделать для вас все что угодно, используя hook & filter! Некоторые простые плагины могут быть легко помещены в файл темы! Но некоторые большие плагины слишком раздуты, чтобы помещать их в файл темы!

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

Более того, некоторые хуки запускаются до вызова темы, поэтому вы не можете поместить тему в файл темы!

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


0

Некоторые основные различия между плагином и темой:

  • Плагины находятся в каталоге wp-content / plugins вашего сайта WordPress. Темы можно найти в каталоге wp-content / themes.

  • Любой сайт WordPress содержит различные плагины. Но один сайт имеет только одну активную тему.

  • Если вы меняете тему на своем сайте, то вы не можете использовать функции старой темы. Хотя установка нового плагина не повлияет на другие активные плагины на сайте.

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