0

我创建了一个自定义的 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') }}的,它只是运行函数,然后是参数。

4

1 回答 1

0

好的,我通过以下更改修复了它:

{{ fn('wp_nonce_field', 'woocommerce-register', 'woocommerce-register-nonce', true, false) }}

wp_nonce_field回显结果,因此我对其进行了更改,因此它通过将最后一个参数设置为来返回它,false因此它不会回显,因为{{ }}在 Twig 之间放置值已经回显了数据。

于 2019-02-04T21:22:10.830 回答