W artykule:
Ostatnio użytkownik zapytał nas, jak sprawdzić, czy funkcja istnieje podczas dodawania funkcji do WordPress.
Najlepszą częścią WordPress jest jego elastyczność, w tym możliwość dodawania własnych funkcji do witryny. Czasami jednak kod niestandardowy może nie działać, ponieważ funkcja, do której się odnosi, już nie istnieje.
W tym artykule pokażemy, jak łatwo sprawdzić, czy funkcja istnieje przed dodaniem jej do motywu WordPress lub wtyczki specyficznej dla witryny.

Po co dodawać, jeśli funkcja istnieje do kodu niestandardowego
WordPress jest napisany głównie w języku programowania PHP. PHP to język programowania po stronie serwera, który działa na serwerach dostawcy usług hostingowych WordPress.
Ponieważ PHP musi zakończyć działanie przed załadowaniem strony w przeglądarkach odwiedzających, istnieją pewne ograniczenia. Jednym z tych ograniczeń jest to, że jeśli coś pójdzie nie tak, może to uniemożliwić ładowanie całej strony.
W WordPress, jeśli brakująca funkcja uniemożliwia uruchomienie reszty kodu, zatrzymuje się i wyświetla krytyczny błąd lub krytyczny komunikat o błędzie.

Co sprawi, że funkcja nagle przestanie działać lub zniknie?
Jest to częstszy błąd WordPress, niż mogłoby się wydawać. Na przykład załóżmy, że jedna z wtyczek WordPress zawiera funkcję dodaną do obszaru stopki motywu.
Dezaktywacja wtyczki spowoduje, że funkcja zniknie i spowoduje krytyczny błąd w witrynie WordPress.
Mając to na uwadze, przyjrzyjmy się, jak łatwo sprawdzić, czy funkcja istnieje przed wykonaniem jej w plikach motywów WordPress.
Sprawdzanie, czy funkcja istnieje w WordPress
Na szczęście język programowania PHP ma wbudowaną metodę łatwego sprawdzania istnienia funkcji przed jej wykonaniem.
Załóżmy, że masz funkcję WordPress, która wyświetla aktualny czas z informacjami o strefie czasowej. Oto przykładowy fragment kodu, którego możesz użyć, aby go wypróbować.
// wyświetl aktualny czas z strefą czasową
function wpb_show_timezone () {
$better_time = current_time ('F j, Y g: i A e');
echo "<P>aktualny czas to " . $better_time ."</p>";
}
Aby wywołać tę funkcję, musisz dodać następujący kod w dowolnym miejscu w szablonie WordPress, w którym chcesz wyświetlić aktualny czas.
<?php wpb_show_timezone ();?>
Tak to wyglądało na naszej stronie testowej.

Teraz, jeśli kod odpowiedzialny za wykonanie tej funkcji zniknie, wywołanie funkcji zepsuje Twoją witrynę.

Dodajmy sprawdzenie, czy ten kod działa tylko wtedy, gdy funkcja istnieje.
<?php
if (function_exists ('wpb_show_timezone')) {
wpb_show_timezone();
} else {
// do nothing
}
?>
W tym kodzie używamy funkcji function_exists (). Ta funkcja sprawdza, czy funkcja istnieje i zwraca True lub False.
Następnie dodaliśmy warunek if-else, aby podjąć odpowiednie działania w zależności od dostępności funkcji.
Teraz, gdy funkcja nie jest już dostępna, kod po prostu go pominie, a WordPress będzie mógł normalnie załadować resztę witryny.

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak sprawdzić, czy funkcja istnieje w WordPress. Możesz również zobaczyć nasz kompletny przewodnik rozwiązywania problemów WordPress lub naszą ściągawkę dla twórców motywów WordPress.
Jeśli podoba Ci się ten artykuł, zasubskrybuj nasz kanał YouTube dla samouczków wideo WordPress. Znajdziesz nas również na Twitterze i Facebooku.