Tak i nie.
Możesz utworzyć motyw podrzędny, określając inny motyw podrzędny jako nadrzędny, a WordPress spróbuje go użyć.
jednak
Wpadniesz na problemy, nie wspominając o tym, że rdzeniowcy wyraźnie stwierdzili, że nie jest to pożądane zachowanie i nie będą starali się wspierać motywów wnuczka.
Na przykład WP API rozróżnia arkusz stylów i adresy URL / katalogi szablonów, gdzie arkusz stylów zawsze odnosi się do aktywnego motywu, a szablon odnosi się do motywu nadrzędnego, ale jeśli uwzględniono motyw dziadka, to czy get_template_directory_uri
odwołuje się do rodzica czy dziadka? Wiele wywołań interfejsu API jest obecnie niejednoznacznych, a różni ludzie oczekiwaliby odmiennego zachowania, w tym kodu będącego rdzeniem. Musisz także załadować functions.php
rodzica lub dziadka i upewnić się, że zostało to wykonane we właściwej kolejności.
Jest to również uważane za bardzo złą praktykę. Jeśli potrzebujesz motywów dla wnuków, twoje podejście przybrało zły obrót i musisz cofnąć się i dokonać ponownej oceny.
Radziłbym unikać koncepcji motywów wnuczka, to doprowadzi do kolejnych problemów. Zamiast tego więcej filtrów przechwytujących działania i modułowość motywu podrzędnego powinny pozwolić ci zachować te same komponenty podrzędne i pozwolić na rozgałęzienie / rozwidlenie z niewielkim trudem. Spróbuj przenieść wspólne elementy do submoduła svn external / git.
Istnieje również model _s, w którym masz motyw potomny jako bazę i rozwidlaj go, zamiast mieć go jako element nadrzędny z zamiarem pracy nad kopią, a nie nadrzędnego / zastępowania.
Nie w pełni przetestowałem metodę opisaną poniżej, ani normalny motyw „wnuka”, ale podając funkcjonalność filtra template_include :
Możesz również w podobny sposób wypróbować bardziej szczegółowe filtry, takie jak na przykład element_archiwum
Wszystko, co zostało powiedziane i zrobione, nie jestem pewien, czy jest to najlepszy sposób na robienie różnych rzeczy.
źródło