Недавно один из пользователей спросил нас, как проверить, существует ли функция при добавлении функции в WordPress.
Самое лучшее в WordPress — это его гибкость, включая возможность добавлять собственные функции на ваш сайт. Однако иногда ваш пользовательский код может не работать, потому что функция, на которую он ссылается, больше не существует.
В этой статье мы покажем вам, как легко проверить, существует ли функция, прежде чем добавить ее в тему WordPress или плагин для конкретного сайта.
Зачем добавлять функцию If Exists в пользовательский код
WordPress в основном написан на языке программирования PHP. PHP — это язык программирования на стороне сервера, который работает на серверах вашего хостинг-провайдера WordPress.
Поскольку PHP должен завершить работу до того, как страница будет загружена в браузеры ваших посетителей, существуют определенные ограничения на его использование. Одно из этих ограничений заключается в том, что если что-то пойдет не так, это может помешать загрузке всей страницы.
В WordPress, если отсутствующая функция препятствует выполнению остального кода, то он останавливается и выводит сообщение о критической или фатальной ошибке.
Что может заставить функцию внезапно перестать работать или пропасть?
Это более распространенная ошибка WordPress, чем вы думаете. Например, допустим, один из ваших плагинов WordPress поставляется с функцией, которую вы добавили в область футера вашей темы.
Деактивация плагина приведет к исчезновению функции и вызовет критическую ошибку на вашем сайте WordPress.
Учитывая это, давайте рассмотрим, как легко проверить, существует ли функция, прежде чем выполнять ее в файлах вашей темы WordPress.
Проверка наличия функции в WordPress
К счастью, язык программирования PHP имеет встроенный метод, позволяющий легко проверить существование функции перед ее выполнением.
Допустим, у вас есть функция WordPress, которая отображает текущее время с информацией о часовом поясе. Вот примерный фрагмент кода, который вы можете использовать, чтобы попробовать это.
//отображение текущего времени с часовым поясом функция wpb_show_timezone() < $better_time = current_time('F j, Y g:i a e'); echo "Текущее время " . $better_time ."
"; >
Чтобы вызвать эту функцию, вам нужно добавить следующий код в любом месте вашей темы WordPress, где вы хотите отображать текущее время.
Вот как это выглядело на нашем тестовом сайте.
Теперь, если код, отвечающий за выполнение этой функции, исчезнет, то вызов функции приведет к поломке вашего сайта.
Давайте добавим проверку, чтобы убедиться, что этот код запускается только тогда, когда функция существует.
else < // do nothing >?>
В этом коде мы используем функцию function_exists(). Эта функция проверяет, существует ли функция, и возвращает True или False.
Затем мы добавили условие if-else, чтобы предпринять соответствующие действия в зависимости от наличия функции.
Теперь, когда функция больше не доступна, код просто пропустит ее, и WordPress сможет нормально загрузить остальную часть вашего сайта.
Мы надеемся, что эта статья помогла вам узнать, как проверить, существует ли эта функция в WordPress. Вы также можете ознакомиться с нашим полным руководством по устранению неполадок в WordPress или посмотреть шпаргалку для разработчиков тем WordPress.
Источник: www.wpbeginner.com