最佳实践:添加WordPress主题时检查函数是否存在

最近有用户问我们在WordPress中添加函数时如何检查函数是否存在。

关于 WordPress 最好的部分是它的灵活性,包括将您自己的功能添加到您的网站的能力。但是,有时您的自定义代码可能无法正常工作,因为它所引用的函数不再存在。

在本文中,我们将向您展示如何在将某个函数添加到您的 WordPress 主题或特定于站点的插件之前轻松检查它是否存在。

检查WordPress中是否存在函数

为什么要在自定义代码中添加 If 函数

WordPress 主要是用PHP 编程语言编写的。PHP 是一种服务器端编程语言,可在您的WordPress 托管服务提供商的服务器上运行。

因为 PHP 必须在页面加载到访问者的浏览器之前完成运行,所以它有一定的限制。其中一个限制是,如果出现问题,它可能会阻止整个页面加载。

在 WordPress 中,如果缺少的函数阻止其余代码运行,则它会停止并显示严重错误或致命错误消息。

WordPress 严重错误消息

什么会使功能突然停止工作或丢失?

这是一个比您想象的更常见的 WordPress 错误。例如,假设您的一个 WordPress 插件带有您已添加到主题页脚区域的功能。

停用插件将使该功能消失并导致您的 WordPress 网站出现严重错误。

话虽如此,让我们看一下如何在 WordPress 主题文件中执行之前轻松检查函数是否存在。

检查 WordPress 中是否存在函数

幸运的是,PHP 编程语言带有一个内置方法,可以在执行函数之前轻松检查函数的存在。

假设您有一个 WordPress 函数,它显示当前时间和时区信息。这是一个示例代码片段,您可以使用它来尝试它。

//display current time with timezonefunction wpb_show_timezone() { $better_time = current_time(‘F j, Y g:i a e’); echo “

The current time is ” . $better_time .”

“; }

要调用此函数,您需要在 WordPress 主题中要显示当前时间的任何位置添加以下代码。

这就是它在我们的测试网站上的样子。

功能正常运行

现在,如果负责执行此函数的代码消失了,那么对该函数的调用将破坏您的网站。

WordPress中的严重错误

让我们添加一个检查以确保此代码仅在函数存在时运行。

在这段代码中,我们使用了 function_exists() 函数。此函数检查函数是否存在并返回 True 或 False。

然后,我们添加了一个 if-else 条件,以根据函数的可用性采取适当的措施。

现在,当该功能不再可用时,代码将简单地跳过它,WordPress 将能够正常加载您网站的其余部分。

缺少功能已跳过

我们希望本文能帮助您了解如何检查 WordPress 中是否存在函数。您可能还想查看我们完整的WordPress 故障排除指南或查看我们的 WordPress 主题开发人员备忘单。