wp_nonce_field, отображаемое дважды

У меня есть wp_nonce_field в моем коде, но по какой-то причине он создает два экземпляра кода html, который я ожидаю, а другой – в начале записи. Является ли это правильным или я делаю что-то неправильно. Это создает ошибку валидатора. Одна вещь, которую я делаю немного по-другому, заключается в том, что форма выводится через короткий код, но я бы не ожидал, что это вызовет проблему. Я проверил остальную часть кода, и в этом случае wp_nonce_field «работает дважды» по какой-то причине … вот соответствующая часть кода

  (rest of form code precedes this) $formDisplay .= $commentErrorDisplay; $formDisplay .= '<input id="submitContact" type="submit" value = "Send" />'; $formDisplay .= wp_nonce_field('contact-form'); $formDisplay .= '<input type="hidden" name="contact-submitted" id="contact-submitted" value="true" />'; $formDisplay .= '<br /><span class="feedback ' . $sent .'">'.$feedback.'</span>'; $formDisplay .= '</form>'; $formDisplay .= '</div>'; return $formDisplay; 

Редактировать : Я думаю, что я это обнаружил, хотя на самом деле я до сих пор не понимаю, но это, вероятно, просто недостаток знаний с моей стороны. Кодекс говорит

Возвращаемые значения (строка) Поле Nonce.

поэтому я думал, что это означало, что, поскольку он возвратил поле nonce как строку, которую я мог бы просто добавить в $ formDisplay (3-я строка моего кода), но, по-видимому, нет. Я думаю, что он должен отображать поле nonce и возвращать его или что-то в этом роде. Я уверен, что в этом нет ничего странного, но, вероятно, стоит оставить этот вопрос здесь, на случай, если кто-то другой пойдет на ту же ошибку.

Solutions Collecting From Web of "wp_nonce_field, отображаемое дважды"

Если вы добавите поле nonce в строку HTML, вы должны указать, что вы не хотите, чтобы он был эхом. Это четвертый параметр; см. https://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/functions.php#L1952

 $formDisplay .= wp_nonce_field( 'contact-form', '_wpnonce', true, false ); 

Заметили это в проверке проверки как OP. Исправление было мертвым, как предположил Бун, однако в моем примере использования плагина guest-post изменение 4-го значения на false не позволило мне изменить статус сообщения из плагина по умолчанию (в ожидании). Мое исправление, которое я нашел, это изменить строку непосредственно под wp-includes / function.php на «class» вместо «id».

… WordPress и публикация по-прежнему работают правильно.