Gdzie umieszczać własny kod – w pliku functions.php czy we wtyczkach?


Podczas tworzenia serwisu opartego na WordPressie często (a właściwie prawie zawsze) zachodzi potrzeba zmodyfikowania sposobu działania jakiejś funkcji lub dodania nowej. Nasz własny kod możemy umieszczać w dwóch miejscach: w pliku functions.php naszego szablonu (lub pliku dołączanym do niego za pomocą include lub require) albo we wtyczce. Efekt końcowy w znacznej większości przypadków będzie taki sam, tak więc najczęściej nasze modyfikacje lądują w pliku functions.php – bo tak jest szybciej i wygodniej. Nie zawsze jednak jest to poprawne, a poświęcenie chwili na wybór odpowiedniego miejsca dla naszych zmian pozwoli nam zaoszczędzić sporo czasu w przyszłości.

Zanim bezmyślnie wkleimy znaleziony w Sieci kawałek kodu do pliku functions.php, powinniśmy odpowiedzieć sobie na jedno podstawowe pytanie: czy gdy kiedyś zdecydujemy się na zmianę szablonu na inny, to kod ten wciąż będzie potrzebny? Jeśli tak (bo na przykład modyfikuje kanał RSS, dodaje jakieś nowe znaczniki meta do nagłówka strony lub rejestruje nowe typy wpisów), to powinien on trafić do wtyczki (czyli w miejsce niezależne od szablonu). Jeśli nie (bo na przykład umieszcza pod każdym wpisem jakiś specjalny, dopasowany wizualnie do szablonu element, wyświetla odpowiednio sformatowaną listę tagów lub datę publikacji wpisów), to powinien znaleźć się w pliku functions.php szablonu.

Mówiąc krótko, powinniśmy ustalić, czy dana modyfikacja jest związana z szablonem. Jeśli nasz kod umieścimy w nieodpowiednim dla niego miejscu, to po zmianie szablonu okaże się, że albo będziemy musieli przenieść go do nowego motywu, albo do nowego szablonu trafią elementy, które nie powinny się w nim znaleźć. Tracimy w ten sposób czas, który moglibyśmy poświęcić na pożyteczniejsze rzeczy.

Oczywiście nie musimy tworzyć osobnej wtyczki dla każdej z naszych modyfikacji – wystarczy że stworzymy jedną, w której umieścimy wszystkie potrzebne w danym serwisie zmiany. Jeśli jednak czujemy, że dany kod może nam się przydać również na innych stronach, możemy (a nawet powinniśmy) umieścić go w osobnej wtyczce, dzięki czemu łatwiej będzie nam zastosować go gdzie indziej. Stworzenie własnej wtyczki nie jest trudne i nawet osoby nie mające pojęcia o programowaniu nie powinny mieć z tym większych problemów.

Warto również sprawdzić, czy nie istnieje już jakaś wtyczka rozwiązująca nasz problem. Nie ma sensu wymyślać koła od nowa, a skorzystanie z pochodzącej z oficjalnego repozytorium wtyczki jest z pewnością lepszym pomysłem niż używanie znalezionego „gdzieś w Sieci” kawałka kodu (szczególnie gdy nie jesteśmy w stanie zweryfikować jego poprawności).

Bezpośredni link