Dostosowywanie motywu WordPress bez jego zmiany?


19

Znalazłem i pobrałem motyw. Chciałbym jednak trochę poprawić CSS, aby nieco zmienić wygląd, kolory itp. Jak powinienem to zrobić, wciąż będąc w stanie zaktualizować motyw bez utraty zmian.

Odpowiedzi:


21

Nie można go modyfikować bez zmiany, ale można wyizolować zmienione części, tworząc motyw podrzędny. W podsumowaniu:

  1. Utwórz katalog motywów na komputerze równorzędnym z motywem „nadrzędnym”,
  2. Utwórz style.cssplik w nowym katalogu, Template:w którym w komentarzach znajduje się deklaracja określająca motyw nadrzędny i @import url(../%parent-theme%/style.css)importujący CSS z motywu nadrzędnego,
  3. Aktywuj nowy motyw w konsoli administracyjnej WordPress,
  4. Dodaj nowe pliki i / lub skopiuj pliki z nadrzędnego katalogu motywów do podrzędnego katalogu motywów i zmodyfikuj je zgodnie z własnymi preferencjami oraz
  5. Otóż ​​to!

Mógłbym podać ci dużo więcej szczegółów, ale w zasadzie ten facet robi naprawdę dobrą robotę, wyjaśniając, jak stworzyć motyw dziecka, więc lepiej dla mnie, po prostu wskazując ci go.

Jeśli chcesz uaktualnić motyw nadrzędny, po prostu uaktualnij; pozostawi nietknięty motyw dziecka. Oczywiście motyw podrzędny może nie działać idealnie, jeśli zbytnio zmienił element nadrzędny i / lub jeśli skopiowałeś i zmodyfikowałeś pliki motywów zaktualizowane w nowej wersji, nie dostaniesz nowej funkcjonalności bez ich modyfikacji, ale jest to o wiele lepiej od początku za każdym razem!

Mam nadzieję, że to pomaga.


2
Motywy potomne to droga IMHO
Ryan Gibbons

2

Jeśli wszystko, co chcesz zmienić, to trochę css, możesz utworzyć niestandardowy plik css w katalogu motywów. Dołącz niestandardowy plik css do nagłówka motywu i pisz nowe deklaracje tylko w niestandardowym pliku css, zastępując w ten sposób domyślne deklaracje css motywu.

Domyślny arkusz stylów

body{background:white;width: 960px;margin: 25px auto;}

Niestandardowy arkusz stylów

body{width:800px;}

Twoja przeglądarka wykona osobne wywołania HTTP dla dwóch arkuszy stylów i zastosuje style w kolejności, w jakiej są wymienione. Niezależnie od tego, jakie deklaracje zostaną złożone jako ostatnie, zastąpią one deklaracje złożone przed nimi. Dlatego pamiętaj, aby dołączyć niestandardowy arkusz stylów po dołączeniu innych arkuszy stylów do pliku header.php.

Jeśli zamierzasz zmienić pliki szablonów, takie jak archive.php lub page.php, odpowiedź MikeSchinkel pozwoli Ci zaktualizować motyw, jeśli zostanie wydana nowa wersja, bez utraty modyfikacji. Ale jeśli wszystko, czego chcesz, to zmienić css, ta metoda będzie działać dobrze. Przed aktualizacją katalogu motywów zapisz własny arkusz stylów.


1
Może to być problematyczne, jeśli modyfikowany motyw nie jest motywem, dlatego zmiany mogą zostać zastąpione aktualizacjami motywu.
hakre

1

Zdecydowanie możesz utworzyć motyw podrzędny. Motyw podrzędny zachowuje główny motyw w oryginalnym formacie.

To, co robię osobiście, polega na tym, że korzystam z motywu WordPress premium z MyThemeShop . Dzięki temu zachowuję plik style.css i opcje motywu w niezmienionej postaci. Po prostu kopiuję dane pliku do innego pliku i nazywam go nieco inaczej. Na przykład, jeśli używam SociallyViral Theme, do utworzenia jego motywu podrzędnego skopiuję dane z pliku style.css i zapiszę w innym pliku o nazwie childstyle.css.

Następnie zaprojektuję określone funkcje i będę mógł przeprojektować mój motyw, dodając więcej funkcji w pliku childstyle.css.

Dzięki temu mój oryginalny plik style.css jest zachowany, a ja mogę go zaktualizować w oryginalnym formacie.


Nie jestem pewien, co masz na myśli mówiąc „Skopiuję dane z jego pliku style.css”, ale zwykle wystarczy dodać tylko te style do motywu podrzędnego, które różnią się od nadrzędnego - style motywu podrzędnego dodają i / lub przesłonić style rodzica. Nawiasem mówiąc: jak twoja odpowiedź dodaje coś do odpowiedzi, która została już zaakceptowana ponad 6 lat temu ?!
tillinberlin

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.