Wordpress插件函数:检查函数是否存在

Wordpress插件函数:检查函数是否存在,wordpress,Wordpress,我正在开发一个Wordpress网站,它依赖于一个插件来激活该网站以使其正常运行 该插件有一些有用的功能,我正在网站的模板文件中使用。当插件处于活动状态时,一切都能正常工作。如果插件被停用,则不会加载内容 将这些函数包装在if(函数_存在(…)显然解决了这个问题,但我想知道Wordpress中是否有更干净的方法。是否有一个函数可以放在theme的functions.php文件中,它可以在每次调用时检查这些函数是否可用,如果没有,它可以提供一个安全的回退,而不必将它们包装到函数_exists()中

我正在开发一个Wordpress网站,它依赖于一个插件来激活该网站以使其正常运行

该插件有一些有用的功能,我正在网站的模板文件中使用。当插件处于活动状态时,一切都能正常工作。如果插件被停用,则不会加载内容

将这些函数包装在
if(函数_存在(…)
显然解决了这个问题,但我想知道Wordpress中是否有更干净的方法。是否有一个函数可以放在theme的functions.php文件中,它可以在每次调用时检查这些函数是否可用,如果没有,它可以提供一个安全的回退,而不必将它们包装到函数_exists()中


谢谢。

我认为这是最清楚的方法。它可以防止所有问题。我认为您可以编写一个函数,它可以在每次调用这些函数时检查这些函数是否可用,但我几乎可以肯定,它会给您带来更多麻烦,并比简单地使用if(function_exist())消耗更多内存。别忘了else分支,它会很好地工作。

如果您只是少量使用它(1-2次),请使用
If(function_exists())
。如果您在不同的模板文件中多次调用该函数,我建议使用类似的方法

在functions.php中

function mytheme_related_posts( $someparams = nil ) {
  if( function_exists( 'related_posts' ) ) {
    related_posts( $someparams );
  } else {
    echo 'Please enable related posts plugin';
  }
}

然后在模板中使用mytheme-related-posts()。

如果要检查插件是否处于活动状态,则应使用
is-plugin\u-active()
函数-您可以在以下位置找到文档:


然后还可以使用if(function_exists())来双重确保:)

我从未想过这样做。非常好用,非常感谢!如果您认为这回答了您的问题,则应将其标记为正确答案:)