插件标题:WP和PHP版本控制使用wp_die(),我可以更改吗?

时间:2021-05-18 作者:Jonathan QuePública

如果插件标题中的WP和php版本为所需版本或更高版本,我希望激活插件。

但是,如果站点不符合最小值,WordPress会自动调用wp\\u die()。我宁愿使用管理员通知,任何比wp\\u die()更严厉的通知,但我找不到WordPress如何自动调用wp\\u die()的任何信息,并且是否有一个过滤器来执行其他操作。

1 个回复
SO网友:Tom J Nowell

但是,如果站点不符合最小值,WordPress会自动调用wp\\u die()。我宁愿使用管理员通知,任何比wp\\u die()更严厉的通知,但我找不到WordPress如何自动调用wp\\u die()的任何信息,并且是否有一个过滤器来执行其他操作。

This is not possible via the plugin header.

原因是为了实现这一点,您需要运行PHP代码,但WordPress不会运行插件代码来获取此信息。它加载主插件文件的前几个字节,并在结果中手动搜索插件头。

否则,如果它运行PHP文件来获取值,并且您使用了一个不可用的PHP功能,那么每当您加载插件页面或进行更新检查时,该站点都会崩溃。

这也意味着,即使有一个过滤器来改变这种行为,你的插件也无法使用它。您需要另一个已经激活的插件来添加过滤器并更改行为。

您可以在插件标题中设置一个非常低的最小值,然后自己手动执行检查,这样就可以达到一半的效果,但是:

插件目录和插件页面都会报告它是兼容的,即使它不是兼容的,但您需要重新设计插件,以便主文件中没有任何实际代码,只有PHP/WP版本检查器,您需要根据结果有条件地加载文件。插件激活失败用于许多检查,这些检查现在不再正常运行。最终用户可能没有意识到您的插件处于僵化/不稳定模式,因为大多数WP管理屏幕都有很多通知,这样的插件将被拒绝。org插件审查团队,并将被视为许多企业公司和机构的主要危险信号,如果不是更多的话,总体而言,这是一个糟糕的想法,用户体验不佳,维护和实际后果很多。做到这一点的唯一方法是在插件头中撒谎,但即使这样也会导致问题。

相关推荐