2013-12-23 4 views
0

Im, убираю мою собственную тему и в режиме отладки. Я получаю неопределенную переменную в разделе моих комментариев. Это мой раздел пользовательских комментариев, а отображаемые неопределенные переменные - aria_req, req и commenter. Эта функция пользовательских комментариев находится в моем файле функций. Как я могу это исправить?Неопределенная переменная при комментариях wordpress

// Edit Comment Forms 
function alter_comment_form_fields($fields){ 

    $fields['author'] = '<div class="row"><div class="col-md-4"><p class="comment-form-author">' . '<label for="author">' . __('Name') . '</label> ' . ($req ? '<span class="required">*</span>' : '') . 
        '<input id="author" name="author" type="text" placeholder="Name" value="' . esc_attr($commenter['comment_author']) . '"' . $aria_req . ' /></p></div>'; 
//Edit Email Field 
$fields['email'] = '<div class="col-md-4"><p class="comment-form-author">' . '<label for="email">' . __('Email') . '</label> ' .     ($req ? '<span class="required">*</span>' : '') . 
        '<input id="email" name="email" type="text" placeholder="Email" value="' . esc_attr($commenter['comment_author_url']) . '" "' . $aria_req . ' /></p></div>'; 
//Edit Website Field 
$fields['url'] = '<div class="col-md-4"><p class="comment-form-author">' . '<label for="url">' . __('Website') . '</label> ' .      ($req ? '<span class="required">*</span>' : '') . 
        '<input id="url" name="url" type="text" placeholder="Website" value="' . esc_attr($commenter['comment_author_url']) . '"' . $aria_req . ' /></p></div></div>';    

    return $fields; 
} 

add_filter('comment_form_default_fields','alter_comment_form_fields'); 

ответ

2

Вы можете обратиться к http://codex.wordpress.org/Function_Reference/comment_form
Переменные могут быть определены выше кода (в начале тела функции) следующим образом:

$commenter = wp_get_current_commenter(); 
$req = get_option('require_name_email'); 
$aria_req = ($req ? " aria-required='true'" : ''); 
0

Неопределенные ошибки индекса возникают, когда переменная, которая еще не была инициализирована, используется в выражении. Что вы можете сделать, это использовать isset(), чтобы проверить, является ли переменная нулевой, прежде чем пытаться ее использовать.

0

попытка поставить

$aria_req = ($req) ? " aria-required='true'" : '' ; 

перед $ comments_args. меня устраивает.

erros появляется, потому что $ aria_req не определено или null. , когда $ req пуст/null, $ aria_req будет определяться как ''.

Смежные вопросы