问题描述

WordPress 3.3 已经弃用了 add_contextual_help() 功能,它是过滤器,所以为了继续支持 3.0 – 3.2.1 并且还符合 3.3,我做了以下工作:

global $wp_version;
if ($wp_version >= '3.3') {
    // New method
    add_action("load-$admin_page", 'CrayonSettingsWP::help_screen');
} else {
    // Depreciated method
    add_filter('contextual_help', 'CrayonSettingsWP::cont_help', 10, 3);
}

有更好的方法吗?

最佳解决方案

我的看法没有任何错误。但是我要采取不同的方式:不支持旧版本的 WP 。

从 WP 社区获得的一般印象是进步。通过支持当前版本和转发,您正在帮助推动社区使用最新版本的 WordPress 。

摘自 WordPress Plugin Development(这是一本很好的书!):

In the WordPress development community, backward compatibility may sometimes be even looked down upon. Users are expected to stay updated with the latest version of the software.

次佳解决方案

更好的版本检查是您使用 PHP 的默认功能为此要求; 看这个例子。

if ( version_compare( $GLOBALS['wp_version'], '3.3alpha', '>=' ) ) {

PHP 中的版本更多的是 3 个字符串,liek 3.3!检查稳定版本较小的版本很重要。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。