error-handling - 检查 WordPress 插件系统要求的正确方法

标签 error-handling conditional wordpress system-requirements

如果他们的系统不满足某些要求,我很好奇阻止用户激活我的插件的正确方法。进行检查很容易,我不需要任何帮助,我更好奇如何告诉 WordPress 退出并显示错误消息。

目前我都试过exit($error_message)die($error_message)在激活钩子(Hook)方法中。在显示我的消息并且未激活插件时,还会显示一条消息说 fatal error (见下图)。

enter image description here

有谁知道更好的方法,可以在正确的错误框中显示我的消息而不显示 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/

相关文章:

error-handling - 如何从主结果处理程序中删除默认的 “Error”

javascript - MVC3 Razor 无法识别何时停止解析

php - 我的 wp-admin 无法正常工作

javascript - 捕获 Node.js 中的错误

javascript - `throw new Error`和 `throw someObject`有什么区别?

spring - 如何使用 Spring REST 调用返回错误实例

PHP:在 if 条件下使用 $count++

r - 来自光栅计算器的条件命令传输到 R

mysql - 使用 WordPress 自定义字段编辑数据库表值

html - 在内容和侧边栏之前放置幻灯片 - WordPress