简体   繁体   English

PHP严格错误

[英]PHP Strict Errors

I get these PHP errors in error_log all the time and can't figure out how to solve it: 我一直在error_log中收到这些PHP错误,无法解决该问题:

Errors: 错误:

PHP Strict Standards:  Non-static method wf_gmap::check_wp_footer() should not be called statically in /home/USERNAME/public_html/WEBSITE/wp-content/plugins/5sec-google-maps/5sec-gmaps.php on line 25

PHP Notice:  Use of undefined constant is_admin - assumed 'is_admin' in /home/USERNAME/public_html/WEBSITE/wp-content/plugins/5sec-google-maps/5sec-gmaps.php on line 21

PHP Strict Standards:  call_user_func_array() expects parameter 1 to be a valid callback, non-static method wf_gmap::init() should not be called statically in /home/USERNAME/public_html/WEBSITE/wp-includes/plugin.php on line 429

and 5sec-gmaps.php file's lines from 17 to 44 is this: 和5sec-gmaps.php文件从17到44的行是这样的:

class wf_gmap {
  static $js_functions = '';

public function init() {
if(is_admin) {
  add_filter('plugin_row_meta', array(__CLASS__, 'plugin_meta_links'), 10, 2);
}
// check wp_footer()
self::check_wp_footer();

// add shortcode
global $shortcode_tags;
if (isset($shortcode_tags[GMAP_SHORTCODE])) {
  add_action('admin_footer', array(__CLASS__, 'warning'));
} else {
  add_shortcode(GMAP_SHORTCODE, array(__CLASS__, 'shortcode'));
}

// add JS include files
add_action('wp_footer', array(__CLASS__, 'footer'), 2);

// add shortcode support in sidebar text widget
if (has_filter('widget_text', 'do_shortcode') === false) {
  add_filter('widget_text', 'do_shortcode');
}

return;

and plugin.php's line from 418 to 434: 和plugin.php的代码行从418到434:

    // Sort
if ( !isset( $merged_filters[ $tag ] ) ) {
    ksort($wp_filter[$tag]);
    $merged_filters[ $tag ] = true;
}

reset( $wp_filter[ $tag ] );

do {
    foreach ( (array) current($wp_filter[$tag]) as $the_ )
        if ( !is_null($the_['function']) )
            call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']));

} while ( next($wp_filter[$tag]) !== false );

array_pop($wp_current_filter);

Any help would be appreciated. 任何帮助,将不胜感激。

You are invoking member methods with static context. 您正在使用静态上下文调用成员方法。

self::check_wp_footer(); should be $this->check_wp_footer(); 应该是$this->check_wp_footer();

Likewise, whatever $the_['function'] must be referring to a static method as well. 同样,任何$the_['function']必须引用静态方法。

PHP Strict Standards: Non-static method wf_gmap::check_wp_footer() should PHP严格标准:非静态方法wf_gmap :: check_wp_footer()应该

means function check_wp_footer is not static method so you can't call like this 表示函数check_wp_footer不是静态方法,因此您不能像这样调用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM