Різниця між темою та плагіном?


9

Мені цікаво, які конкретні відмінності між темою та плагіном. Я розумію суть цього ... теми пов'язані з зовнішнім виглядом (html / css), а плагіни пов'язані з додаванням функціональності (код / ​​php). Однак така тема, як популярний P2 на Twitter, начебто додає функціоналу ... не просто покращує зовнішній вигляд. Це залишає мене трохи розгубленим. Може хтось із цього обміну роклін просвітить мене?

Цінується.

Едді

Відповіді:


13

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

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

Між ними є багато кроссоверів, особливо коли ви збираєтеся поєднувати певні плагіни з темами. Однак найбільша різниця полягає в шаблонах, які використовує ваш сайт.

Теми

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

Крім того, ви можете визначити single.phpстиль однієї публікації, page.phpокремі сторінки та інше.

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

Плагіни

Плагіни, з іншого боку, можуть додавати додаткові елементи, які використовуватимуться за темами та в інших місцях. Плагін може додати кнопку Facebook Like, яку ваша тема може потім додавати до публікацій та сторінок. Інший плагін може додати віджет на інформаційну панель адміністратора для доступу та керування каналом Google Reader - це не відображається в макеті вашого сайту, але додає функціональність. Ще один плагін може автоматично публікувати у Twitter щоразу, коли ви публікуєте нову публікацію.

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


Трохи запізнюємось, але як щодо користувацьких пропозицій та запитів. Чи будуть вони частиною теми чи плагіну?
Менні Флермонд

Не впевнений, що ви маєте на увазі під користувацькими пропозиціями, але користувацькі запити / повинні працювати з плагінами. Якщо ви використовуєте підхід MVC, подумайте, що саме WordPress надає Модель (і базовий рівень доступу до даних), тему, що забезпечує перегляд, та плагіни (крім певних частин WordPress), що надають Контролер.
EAMann

Можлива інтерпретація вищесказаного полягає в тому, що теми визначають сторінки, але окремі блоки та шаблони створюються за допомогою плагінів. Це неправильно, оскільки це означає, що плагіни == шаблони шаблонів або що плагіни - шаблони віджетів, що не відповідає дійсності. Чи можете ви відредагувати відповідь, щоб зрозуміти, що плагіни для логіки, а теми - для розмітки / наочності?
Tom J Nowell

2

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

Плагіни використовують гачок і фільтр, щоб змінити тему, перш ніж ми виводимо браузер!

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

Але ви можете зробити плагін, щоб використовувати фільтр та гачок Wordpress, щоб змінити HTML публікації, щоб додати вам соціальні кнопки!

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

Але що станеться, якщо ви додасте код плагіна у файл теми? Припустимо, ви поклали деякі функції, щоб передати вміст у function.php теми! Тоді зателефонуйте до цих функцій вручну десь на вашу тему! Або ще краще, ви можете використовувати гачок і фільтр для автоматичної зміни вмісту без ручного дзвінка в тему!

Тож поки wordpress може якось включити ваш код і запустити його! Поки ваш код запускається, він може зробити все, що завгодно, використовуючи гачок і фільтр! Деякі прості плагіни можна легко вставити у файл теми! Але деякі великі плагіни занадто роздуті, щоб їх розмістити у файлі тем!

Потім пізніше ви вирішите видалити цю функцію, перейдете до теми теми та видаліть код? Звучить дурно, правда? Таким чином, у нас є плагін, це спосіб автоматично змінити запущений процес Wordpress, щоб змінити вміст, змінити базу даних, ...

Більше того, деякі гачки виконуються перед темою виклику, тому ви не можете помістити тему у файл теми!

Висновки: Поки ви включаєте код wordpress, wordpress запускає його, тоді повертайте результат! Ви можете помістити цей код у файли тем, Wordpress назве його для вас! Але якщо ви упакуєте його як плагін, ви можете легко встановити / заблукати / видалити, не змінюючи жодних файлів тем! Крім того, ви також зберігаєте свою тему простою та чистою! Тож коли вам потрібно щось змінити, покладіть це як плагін! Не вкладайте його у файли тем!


0

Основна відмінність плагіна від теми:

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

  • Будь-який веб-сайт WordPress містить різні плагіни. Але на одному веб-сайті є лише одна активна тема.

  • Якщо ви змінюєте тему на своєму веб-сайті, ви не можете використовувати функції старої теми. Хоча встановлення нового плагіна не вплине на інші активні плагіни на веб-сайті.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.