如果他们的系统不满足某些要求,我很好奇阻止用户激活我的插件的正确方法。进行检查很容易,我不需要任何帮助,我更好奇如何告诉 WordPress 退出并显示错误消息。
目前我都试过exit($error_message)
和 die($error_message)
在激活钩子(Hook)方法中。在显示我的消息并且未激活插件时,还会显示一条消息说 fatal error (见下图)。
有谁知道更好的方法,可以在正确的错误框中显示我的消息而不显示 fatal error ,对于新用户来说,这看起来真的很糟糕。
感谢您提前提供任何帮助。
最佳答案
正如您可能已经注意到的那样,这有点无证。而不是 die()
, 像这样做:
$plugin = dirname(__FILE__) . '/functions.php';
deactivate_plugins($plugin);
wp_die('<p>The <strong>X</strong> plugin requires version WordPress 2.8 or greater.</p>','Plugin Activation Error',array('response'=>200,'back_link'=>TRUE));
wp_die() 上面的行用于停用此插件。请注意,在这种情况下我们使用 functions.php,因为这是我的插件名称元数据注释声明的地方 - 如果您使用不同的文件,则更改上面的代码。请注意,路径对于匹配是非常具体的。因此,如果您想查看通常的路径,请使用
print_r(get_option('active_plugins'));die();
把它转储出来,这样你就知道你需要什么路径。因为我有一个 plugin_code.php,我的其余插件代码在其中,并且由于它与 functions.php 位于同一目录中,所以我只需要执行 dirname(__FILE__)
为正确的路径。请注意,wp_die() 语句的结尾很重要,因为它提供反向链接并防止错误 500(这是 wp_die() 的默认 Apache 代码)。
关于error-handling - 检查 WordPress 插件系统要求的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5463115/