#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. Я пытался установить аргументы в пустой массив и т.д., Но думаю, что мой синтаксис мог быть неправильным.