Я создал пользовательскую страницу регистрации WooCommerce и у меня есть этот раздел:
<div class="field submit">
{{ fn('wp_nonce_field', 'woocommerce-register', 'woocommerce-register-nonce') }}
<button type="submit" class="button btn" name="register" value="Create Account">Create Account</button>
</div>
Однако, когда это выводится на страницу, я получаю это:
<div class="field submit">
<input type="hidden" id="woocommerce-register-nonce" name="woocommerce-register-nonce" value="05a274c0b9">
<input type="hidden" name="_wp_http_referer" value="/create-account/">
<input type="hidden" id="woocommerce-register-nonce" name="woocommerce-register-nonce" value="05a274c0b9">
<input type="hidden" name="_wp_http_referer" value="/create-account/">
<button type="submit" class="button btn" name="register" value="Create Account">Create Account</button>
</div>
Однако, если я закомментирую эту строку:
{{ fn('wp_nonce_field', 'woocommerce-register', 'woocommerce-register-nonce') }}
Тогда я не получаю одноразовый номер.
По какой-то причине он генерирует множественные и повторяющиеся одноразовые номера, есть идеи, почему и как я могу предотвратить это?
К вашему сведению — это единственная форма регистрации на странице. Кроме того, я использую систему шаблонов Twig, так что если вам интересно, что {{ fn('wp_nonce_field') }}
делает, это просто запуск функции с последующими аргументами.
Хорошо, я исправил это с изменением ниже:
{{ fn('wp_nonce_field', 'woocommerce-register', 'woocommerce-register-nonce', true, false) }}
wp_nonce_field
эхо-результат, поэтому я изменил его, чтобы он возвратил, установив последний параметр в false
так что это не будет эхом, как положить значения между {{ }}
в твиге уже перекликаются данные.
Других решений пока нет …