Предупреждение о недопустимом смещении строки WordPress после обновления PHP

#php #wordpress

#php #wordpress

Вопрос:

После переноса установки WordPress с разработки на текущий хост начали появляться предупреждения о недопустимом смещении строки. Код-нарушитель относится к функции плагина пользовательских форм, показанной ниже:

 function __construct( $data='', $args='' ) {
    if( is_array($args) ) extract($args);

    // Show start amp; end tags
    $this->formtags = true;

    // Echo the form
    $this->echo = true;

    // Use Ajax
    $this->ajax = true;

    // Show ":" in labels
    if( !$colon ) $this->colon = $colon;
    else $this->colon = true;

    // Process as collection of "p" elements
    $this->class_mode = 'p'; // 'p', 'input'

    // Set path for our transformations
    $this->path = $path ? $path : dirname(__FILE__);

    // Sanitize amp; assign data amp; xsl
    if( !$data ) $data = 'contact';
    $this->set( $data );

    //Set Wrapper tag
    if( $args['wrapper_tag'] ) $this->wrapper_tag = $args['wrapper_tag'];
    else $this->wrapper_tag = 'p';
}
  

Проблема вызвана последним оператором if / else:

 if( $args['wrapper_tag'] ) $this->wrapper_tag = $args['wrapper_tag'];
        else $this->wrapper_tag = 'p';
  

Комментарии:

1. Вы должны по крайней мере отметить строку, где это происходит, и контекст вызова здесь. На данный момент мы можем только предположить, что $args не задан массив, но остается значение по умолчанию. Которое в конечном итоге вызывает сообщение об ошибке в последней строке,

2. Привет, Rangad, обновили, чтобы включить затронутое утверждение. Из чтения в другом месте я понял, что это может иметь место в отношении $ args. Я пытался установить аргументы в пустой массив и т.д., Но думаю, что мой синтаксис мог быть неправильным.