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

Error handling 检查WordPress插件系统要求的正确方法,error-handling,conditional,wordpress,system-requirements,Error Handling,Conditional,Wordpress,System Requirements,我很好奇,如果用户的系统不满足某些要求,如何才能阻止他们激活我的插件。做检查很容易,我不需要任何帮助,我更好奇的是如何告诉WordPress退出并显示错误消息 目前,我在激活挂钩方法中尝试了退出($error\u message)和死亡($error\u message)。当显示my message(我的消息)且插件未激活时,也会显示一条消息,说明致命错误(参见下图) 有没有人知道更好的方法,可以在正确的错误框中显示我的消息,而不显示致命错误,这对于新用户来说看起来真的很糟糕 感谢您事先提供的

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

目前,我在激活挂钩方法中尝试了退出($error\u message)和死亡($error\u message)。当显示my message(我的消息)且插件未激活时,也会显示一条消息,说明致命错误(参见下图)

有没有人知道更好的方法,可以在正确的错误框中显示我的消息,而不显示致命错误,这对于新用户来说看起来真的很糟糕


感谢您事先提供的帮助。

不过这只是一个想法。尝试检查wordpress的版本并进行比较,然后使用php通过自定义异常/错误进行验证。PHP5.0TryCatch是一种很好的方法。这里是一些资源


您可以尝试第一个链接。这是相当基本的。谢谢希望这些信息能有所帮助。

不过这只是一个想法。尝试检查wordpress的版本并进行比较,然后使用php通过自定义异常/错误进行验证。PHP5.0TryCatch是一种很好的方法。这里是一些资源


您可以尝试第一个链接。这是相当基本的。谢谢希望这些信息会有所帮助。

正如您可能已经注意到的,这是一个有点未记录的信息。不要使用
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));
$plugin=dirname(_文件)/php';
停用插件($plugin);
wp_die(“插件需要WordPress 2.8或更高版本。

”,“插件激活错误”,数组('response'=>200,'back_link'=>TRUE));
wp_die()上方的行用于停用此插件。请注意,在本例中我们使用functions.php,因为在这里我有我的插件名称元数据注释声明——如果您使用不同的文件,请更改上面的代码。请注意,路径对于匹配是非常特定的。因此,如果您想了解您的路径通常是什么,请使用
print_r(get_选项('active_plugins'));模具()将其转储,以便知道所需的路径。由于我有一个plugin\u code.php,其余的plugin代码都在那里,而且它与functions.php位于同一个目录中,所以我只需执行
dirname(\uu文件)
即可获得正确的路径


请注意,wp_die()语句的结尾很重要,因为它提供了一个反向链接并防止出现错误500(这是wp_die()的默认Apache代码)。

正如您可能已经注意到的,这有点没有文档化。不要使用
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));
$plugin=dirname(_文件)/php';
停用插件($plugin);
wp_die(“插件需要WordPress 2.8或更高版本。

”,“插件激活错误”,数组('response'=>200,'back_link'=>TRUE));
wp_die()上方的行用于停用此插件。请注意,在本例中我们使用functions.php,因为在这里我有我的插件名称元数据注释声明——如果您使用不同的文件,请更改上面的代码。请注意,路径对于匹配是非常特定的。因此,如果您想了解您的路径通常是什么,请使用
print_r(get_选项('active_plugins'));模具()将其转储,以便知道所需的路径。由于我有一个plugin\u code.php,其余的plugin代码都在那里,而且它与functions.php位于同一个目录中,所以我只需执行
dirname(\uu文件)
即可获得正确的路径


请注意,wp_die()语句的结尾很重要,因为它提供了一个反向链接并防止出现错误500(这是wp_die()的默认Apache代码)。

好的调用,我将不得不对此进行研究。你知道WordPress是否有一个内置的激活异常处理程序或类似的程序来捕获异常吗?我不确定WordPress是否有这种类型的处理程序。但由于在php中很容易,wordpress很可能不会有。很好的调用,我将不得不对此进行研究。你知道WordPress是否有一个内置的激活异常处理程序或类似的程序来捕获异常吗?我不确定WordPress是否有这种类型的处理程序。但是,由于这在php中非常容易,wordpress很可能不会有。刚刚回到堆栈溢出,所以很抱歉对您的答案的响应太晚。我将在本周晚些时候检查它,并在验证后将其标记为答案。再次感谢您抽出时间重新讨论堆栈溢出问题,非常抱歉对您的答案的响应太晚。我将在本周晚些时候检查它,并在验证后将其标记为答案。再次感谢您抽出时间