wp_nonce_field bricht aus unbekannten Gründen die Form

Ich versuche ein Anmeldeformular für WooCommerce zu erstellen. Das Problem ist, dass das Formular nicht ohne wp_nonce funktioniert, also versuche ich es einzubinden.

Ich habe einen Shortcode in functions.php , um das Formular anzuzeigen, aber wenn ich wp_nonce_field() , bricht das Formular.

Im Folgenden ist der Code, der wie erwartet funktioniert ( wp_nonce_field() ist wp_nonce_field() , außer dass das Formular nicht POST, weil es keine wp_nonce gibt:

 add_shortcode('signup_form', 'get_signup_form'); function get_signup_form() { //$wp_nonce_code = wp_nonce_field(); $signup_form_code = <<<EOT  EOT; return $signup_form_code; } 

Wenn ich wp_nonce_field() , um zu versuchen, das Formular zu arbeiten, wird das Formular überhaupt nicht angezeigt – nur leer. Z.B:

 add_shortcode('signup_form', 'get_signup_form'); function get_signup_form() { $wp_nonce_code = wp_nonce_field(); $signup_form_code = <<<EOT  EOT; return $signup_form_code; } 

Ich sehe nicht was mit wp_nonce_field() falsch ist und die Dokumentation hat nicht wirklich geholfen.

Solutions Collecting From Web of "wp_nonce_field bricht aus unbekannten Gründen die Form"

wp_nonce_field() wird standardmäßig seine Ausgabe ausgeben, also setze den Parameter $echo auf false :

 add_shortcode('signup_form', 'get_signup_form'); function get_signup_form() { $wp_nonce_code = wp_nonce_field( -1, '_wpnonce', true, false ); $signup_form_code = < < 

{$wp_nonce_code} EOT; return $signup_form_code; }