首页 » 博文 » wpbeginner » 最佳主题 » 最佳实践:在 WordPress 主题中添加时检查函数是否存在

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

最近,一位用户询问我们如何在向依赖 PHP 函数的 WordPress 网站添加一些新代码之前检查该函数是否存在。

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

在本文中,我们将向您展示如何在将某个功能添加到 WordPress 主题之前轻松检查该功能是否存在。

检查 WordPress 中是否存在某个函数

为什么要将“If Function Exists”添加到您的自定义代码中?

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

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

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

WordPress 严重错误消息

什么会导致某个功能突然停止工作或丢失?

这是一个比您想象的更常见的 WordPress 错误。

例如,假设您的 WordPress 插件之一附带了一项已添加到主题页脚区域的功能。停用该插件将使该功能消失并导致您的 WordPress 网站出现严重错误。

话虽这么说,让我们看看如何在 WordPress 主题文件中执行某个函数之前轻松检查该函数是否存在。

检查 WordPress 中是否存在某个函数

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

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

您可以将其直接添加到主题的functions.php 文件中或使用代码片段插件,例如WPCode(推荐)。您可以查看我们关于如何在 WordPress 中轻松添加自定义代码的指南:

12345//display current time with timezonefunctionwpb_show_timezone() {$better_time= current_time('F j, Y g:i a e');echo"<p>The current time is ". $better_time."</p>";}

WPCode与 ❤️ 主办

在 WordPress 中一键使用

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

1<?php wpb_show_timezone(); ?>

WPCode与 ❤️ 主办

在 WordPress 中一键使用

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

功能正常运行

现在,如果负责执行这个函数的代码消失了,会发生什么?

对该函数的调用会像这样破坏您的网站。

WordPress 中的严重错误

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

同样,您需要将代码直接添加到主题的functions.php文件中或使用代码片段插件,例如WPCode(推荐):

1234567<?phpif( function_exists('wpb_show_timezone')) {wpb_show_timezone();} else{// do nothing}?>

WPCode与 ❤️ 主办

在 WordPress 中一键使用

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

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

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

跳过缺少的功能

我们希望本文能帮助您了解如何检查 WordPress 中是否存在某个函数。您可能还想查看我们完整的WordPress 故障排除指南或我们的专家精选的最佳拖放 WordPress 页面构建器

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top