wordpress升级后警告信息处理方法总结

    |     2020年1月8日   |   学习偶记   |     评论已关闭   |    206

  • Notice: 自3.1.0版本起,已不建议给WP_Query传入一个参数!“caller_get_posts”不再被建议使用。请改用“ignore_sticky_posts”

解决:这个直接替换:caller_get_posts 为  ignore_sticky_posts 即可。

  • Notice: 为WP_Widget调用的构造方法已自版本4.3.0起废弃!请改用 __construct()。

解决:这个直接替换:parent::WP_Widget 或 $this->WP_Widget 为  parent::__construct

  • FIXED: 不建议给has_cap传入一个参数!用户级别已被废弃,请改用能力
    add_options_page(‘Delete-Revision’, ‘Delete-Revision’,8, basename(__FILE__), ‘my_options_delete_revision’);
    add_options_page(‘Delete-Revision’, ‘Delete-Revision’, ‘manage_options’, basename(__FILE__), ‘my_options_delete_revision’); 注意这个8,修改成‘manage_options’即可

解决:这个比较麻烦,需要知道是哪个文件出错,报警不会报哪个文件出错的。另外,数字对应的文字,wordpress有相应的表格。可惜我没有找到。

  • Methods with the same name as their class will not be constructors in a future version of PHP

php7.0之后将不再支持与类名相同的构造方法,构造方法统一使用 __construct()。

  • Function create_function() is deprecated in

PHP7.2 已经不推荐使用create_function函数,因为有安全漏洞,使用闭包【匿名】函数即可,

示例:add_action('widgets_init',create_function('', 'return register_widget("tintagcloud");'));
修改为:

add_action('widgets_init', function(){register_widget('tintagcloud' );}); 示例2带返回值的:

$callbacks[$delimiter] = create_function('$matches', "return '$delimiter' . strtolower(\$matches[1]);");
修改为:

$callbacks[$delimiter] = function($matches) use ($delimiter) {
    return $delimiter . strtolower($matches[1]);
};

噢!评论已关闭。