Niektóre wyjaśnienia
Najpierw musisz zrozumieć cel funkcji.php w kompozycji. Functions.php to po prostu plik wtyczki bez nazwy, który jeśli jest obecny, jest automatycznie ładowany przez Wordpress. Wordpress ładuje bieżący plik theme.php dla stron frontonu oraz stron back-endowych (admin).
Nie ma różnicy między wtyczką a funkcjami. Php z wyjątkiem tego, że wtyczki mają nazwę i można je aktywować / dezaktywować niezależnie od innych wtyczek i motywów. Funtions.php jest dołączony do bieżącego motywu, a jeśli przełączysz się na inny motyw, Wordpress użyje funkcji nowego motywu. Php, a nie starych funkcji .php z niestandardowymi modyfikacjami.
Aktualizacje motywów również zastępują funkcje.php i nie ma sposobu, aby tego uniknąć, nawet jeśli umieścisz niestandardowe modyfikacje w osobnych plikach kodu i umieścisz je w pliku fucntions.php, będziesz musiał dodać tę linię dołączania po każdej aktualizacji.
Zasadniczo typ kodu, który powinien przejść w functions.php:
- funkcje używane w plikach szablonów kompozycji.
- opcje motywu
- paski boczne
- menu nawigacyjne
- formaty wpisów
- publikować miniatury
- dowolny kod związany tylko z bieżącym motywem.
Jak chcesz zachować niestandardowe modyfikacje, nawet jeśli zmienisz motywy. Ponieważ motyw potomny nie będzie działał w tym przypadku, ponieważ zmienisz motyw, a funkcje. Php motywu potomnego nie będą używane.
Rozwiązanie
Jedynym rozwiązaniem zalecanym przez @Otto jest utworzenie pliku wtyczki. Podejście, które możesz zastosować, aby utworzyć wtyczkę specyficzną dla witryny, polega na utworzeniu folderu z nazwą witryny w „wp-content / plugins” i utworzeniu w nim plików wtyczek.
Dlaczego pliki wtyczek? a nie pojedynczy plik wtyczki.
Zgrupuj funkcjonalność strony związanej z kodem w osobnych plikach wtyczek i nie zapomnij dodać nagłówka wtyczki do wszystkich plików wtyczek, aby były one rozpoznawane przez Wordpress jako osobne wtyczki. Będziesz wtedy mógł aktywować / dezaktywować różne funkcje / funkcjonalność swojej strony bez niszczenia wszystkiego.