Różnica między motywem a wtyczką?


9

Jestem ciekawy, jakie są konkretne różnice między motywem a wtyczką. Rozumiem sedno ... motywy mają związek z wyglądem i działaniem (html / css), a wtyczki mają związek z dodawaniem funkcjonalności (kod / php). Jednak motyw podobny do popularnego P2 inspirowanego twitterem wydaje się dodawać funkcjonalność ... nie tylko poprawiać wygląd. To mnie trochę zdezorientowane. Czy ktoś na tej rockowej giełdzie może mnie oświecić?

Bardzo mile widziane.

Eddie

Odpowiedzi:


13

Motywy zarządzają wyświetlaniem i układem bloga, ale mogą również dodawać funkcje.

Wtyczki dodają funkcjonalność do twojego bloga, ale mogą również dodawać elementy do układu.

Między nimi jest wiele skrzyżowań, szczególnie gdy masz do czynienia z niektórymi wtyczkami z motywami. Największa różnica polega jednak na szablonach używanych w witrynie.

Tematy

Motywy definiują szablony używane dla każdej strony. Ogólnie rzecz biorąc, index.phpw motywie stosuje się prawie wszystko. Można podzielić, że obecnie i stworzyć odrębny header.phpi footer.phpjak dobrze. Następnie możesz dodać sidebar.php. Jestem pewien, że widziałeś już co najmniej te cztery pliki - jeden, aby zdefiniować nagłówek, jeden, aby zdefiniować pasek boczny, jeden, aby zdefiniować stopkę, i jeden, aby połączyć je wszystkie i ustawić je wokół głównej zawartości.

Ponadto możesz zdefiniować single.phpstylizować pojedynczy post, page.phpstylizować poszczególne strony i tak dalej.

Gdy witryna ładuje się i żądana jest strona lub post, WordPress kieruje żądanie do pliku szablonu zdefiniowanego przez motyw. Wtedy wie, jak rozłożyć rzeczy na stronie. Tradycyjnie motywy służą tylko do układu.

Wtyczki

Z drugiej strony, wtyczki mogą dodawać dodatkowe elementy do wykorzystania przez motywy i gdzie indziej. Wtyczka może dodać przycisk „Lubię to” na Facebooku, który można następnie dodać do postów i stron. Inna wtyczka może dodać widżet do pulpitu administratora w celu uzyskania dostępu do kanału Google Reader i zarządzania nim - nie znajduje to odzwierciedlenia w układzie witryny, ale dodaje funkcjonalność. Jeszcze inna wtyczka może automatycznie publikować posty na Twitterze za każdym razem, gdy publikujesz nowy post.

Motywy mogą dodawać funkcje bezpośrednio związane z układem i wydajnością witryny. Wtyczki mogą dodawać funkcje głębiej w WordPress - funkcje, które mogą być również używane przez motyw.


Trochę późno, ale co z niestandardowymi klauzulami i zapytaniami. Czy byłyby to część motywu czy wtyczki?
Manny Fleurmond

Nie jestem pewien, co rozumiesz przez niestandardowe klauzule, ale niestandardowe zapytania będą / powinny być obsługiwane przez wtyczki. Jeśli stosujesz podejście MVC, pomyśl o tym, że sam WordPress zapewnia model (i leżącą u jego podstaw warstwę dostępu do danych), motyw zapewniający widok oraz wtyczki (oprócz niektórych części WordPress) zapewniające kontroler.
EAMann

Możliwą interpretacją powyższego jest to, że motywy definiują strony, ale poszczególne bloki i szablony są tworzone za pomocą wtyczek. Jest to nieprawidłowe, ponieważ sugeruje, że wtyczki == częściowe szablonu lub że wtyczki są szablonami widgetów, co nie jest prawdą. Czy możesz edytować odpowiedź, aby wyjaśnić, że wtyczki są przeznaczone do logiki, a motywy do znaczników / grafiki?
Tom J Nowell

2

Wyobraź sobie w ten sposób! Motyw określa GŁÓWNĄ STRUKTURĘ dla całej strony! Motyw jest czymś w rodzaju struktury posta, strony lub niestandardowego typu postu, niestandardowej strony ...! Jak dotąd wiesz, że motywem jest naprawdę kod HTML! Na koniec Wordpress zwraca kod HTML do przeglądarki i wyświetla przeglądarkę dla Ciebie! Ten HTML jest budowany na podstawie pliku motywu (index.php, header.php, footer.php, single.php)

Wtyczki używają hook & filter do modyfikowania motywu PRZED wyjściem do przeglądarki!

Przykład: Jeśli chcesz dodać przyciski społecznościowe na końcu wpisu! Możesz zmienić single.php i dodać kod, aby umieścić jakiś przycisk społecznościowy tuż poniżej the_content ()!

Ale możesz zrobić wtyczkę, aby używać filtru i haka Wordpress do zmiany HTML posta i dołączania przycisków społecznościowych!

Możesz użyć hook, aby dodać javascript, zrobić kod logiczny, a następnie renderować HTML na podstawie tego wyniku, a następnie dołączyć lub zamienić na coś za pomocą hook & filter Wordpress!

Ale co się stanie, jeśli umieścisz kod wtyczki w pliku motywu? Załóżmy, że umieściłeś niektóre funkcje w celu renderowania zawartości w functions.php kompozycji! Następnie wywołaj te funkcje ręcznie gdzieś na swoim motywie! Lub jeszcze lepiej, możesz użyć hook & filter, aby automatycznie zmieniać zawartość bez ręcznego wywoływania motywu!

Tak długo, jak Wordpress może w jakiś sposób dołączyć Twój kod i uruchomić go! Tak długo, jak Twój kod go uruchomi, może zrobić dla ciebie wszystko za pomocą hook & filter! Niektóre proste wtyczki można dość łatwo umieścić w pliku motywu! Ale niektóre duże wtyczki są zbyt rozdęte, aby umieścić je w pliku motywu!

Później decydujesz się usunąć tę funkcję, przechodzisz do pliku motywu i usuwasz kod? Brzmi głupio, prawda? Mamy więc wtyczkę, to sposób na automatyczną modyfikację uruchomionego procesu Wordpress w celu zmiany treści, zmiany bazy danych, ...

Ponadto niektóre haki są uruchamiane przed motywem wywołania, więc nie można umieścić motywu w pliku motywu!

Wnioski: Tak długo, jak kod jest włączony przez wordpress, wordpress uruchamia go, a następnie zwraca wynik! Możesz umieścić ten kod w plikach motywów, wordpress wywoła go za Ciebie! Ale jeśli spakujesz go jako wtyczkę, możesz łatwo zainstalować / dezaktywować / usunąć bez zmiany plików motywów! Dodatkowo utrzymujesz prosty / czysty motyw! Więc jeśli musisz coś zmienić, umieść to jako wtyczkę, jeśli to możliwe! Nie umieszczaj go w plikach motywów!


0

Podstawowa różnica między wtyczką a motywem to:

  • Wtyczki znajdują się w katalogu wp-content / plugins w witrynie WordPress. Motywy można znaleźć w katalogu wp-content / themes.

  • Każda witryna WordPress zawiera różne wtyczki, ale jedna witryna ma tylko jeden aktywny motyw.

  • Jeśli zmieniasz motyw w swojej witrynie, nie możesz korzystać z funkcji starego motywu. Chociaż instalacja nowej wtyczki nie wpłynie na inne aktywne wtyczki na stronie internetowej.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.