记录日常点点滴滴,欢迎来到我的小站。

0%

WordPress使用"function_exists();"函数回避插件等函数缺失错误

在应用主题或添加某项功能时,我们可能会因为缺少某些函数而导致网站出现致命错误,大都数情况是没有安装某些插件而导致的函数缺失。下面我们以使用插件“WP-UserAgent”为例进行说明,此插件功能就是显示回复者的浏览器及系统信息,如果要自定义此信息的显示位置,那么需要调用函数:

1
<?php useragent_output_custom(); ?>

本主题是在functions.php评论回复处调用(显示在评论者的名称链接之后):

1
<div><strong><?php comment_author_link() ?></strong> <?php useragent_output_custom(); ?> <?php edit_comment_link('编辑','&nbsp;&nbsp;',''); ?></div>

我们可以看到引用了此插件自定义的“useragent_output_custom();”函数,如果停止插件,刷新,就会出现错误:评论部分不能正常显示。如果我们换一种调用方式,使用”function_exists();”函数,即使不存在此函数也无关紧要:

1
<?php if(function_exists('useragent_output_custom')) {useragent_output_custom();} ?>

更换代码后刷新,评论部分果断正常显示。

1
2
3
"function_exists();"函数的语法是:

<?php if(function_exists('函数名')) { 函数名();} ?>

整句代码意思很清楚,如果存在某函数,调用此函数,如果,不存在,继续文本其他命令,不影响其他,就像include命令一样。

PS:此文亦是WP官方所提倡的调用自定义函数的方法,建议大家使用。