使插件在旧版本的WordPress上无法安装

时间:2011-07-17 作者:mfields

那么,如果插件不应该安装在旧版本的WordPress上,那么最好的方法是什么呢?我通常会这样做:

if ( ! function_exists( \'get_post_format\' ) ) {
    $error_handler = set_error_handler( \'my_plugin_die\' );
    trigger_error( \'\', E_USER_ERROR );
}

function my_plugin_die( $errno, $errstr, $errfile, $errline ) {
    global $wp_version;
    exit( \'This plugin requires WordPress version 3.0 or greater. You are currently using version \' . $wp_version . \'. Please <a target="_top" href="\' . esc_url( admin_url( \'update-core.php\' ) ) . \'">upgrade to the latest version of WordPress</a> before installing this plugin.\' );
}
我把它直接放在插件文件中——在任何类之外。它似乎在我所有的测试中都很有效,但似乎相当苛刻。是否有可能激活具有此代码的插件?

你如何处理这样的情况?似乎绝对没有关于这类事情的文档。

1 个回复
SO网友:Chip Bennett

我认为您采取的方法是正确的:版本检查和死。我唯一建议的是将其挂接到插件激活挂钩中。

不过出于好奇:你为什么不使用wp_die() (Codex ref)?

顺便说一句:我很乐意看到主题和插件库实现某种类似于AMO的UI,它指示给定的主题/插件是否与用户当前的WordPress版本兼容。插件具有Requires: WordPress版本头标签可以很好地实现这个功能,我认为主题也可以很容易地实现同样的功能。

p、 我强烈建议against 使用“兼容性评级”;这一功能已不可逾越。

结束