Benutzerdefinierte Post-Typ-Felder können nicht gespeichert werden

Ich mache ein Plugin, um Beteiligungen an einem Wettbewerb zu registrieren. Ich benutze magische Felder. Auf meinem Entwicklungsserver, wenn ich einen Eintrag als normaler Benutzer verwende, werden alle Daten in db gespeichert und im Backend angezeigt. immer wenn ich versuche edi fields als admin zu benutzen, speichere ich nicht und sende mich an “wp-admin / edit.php”

Hier ist meine Speicherfunktion

add_action('save_post', 'add_fields_contest', 10, 2 ); function add_fields_contest( $id, $post ) { require_once(ABSPATH . 'wp-includes/pluggable.php'); if ( $post->post_type == 'contest' ) { update_post_meta( $id, 'userid', $_POST['userid'] ); update_post_meta( $id, 'title', $_POST['title'] ); update_post_meta( $id, 'name', $_POST['name'] ); update_post_meta( $id, 'age', $_POST['age'] ); } } 

Alle Felder existieren, ich habe eine Metabox erstellt und ich weiß wirklich nicht, warum dies nicht gespeichert wird.

Solutions Collecting From Web of "Benutzerdefinierte Post-Typ-Felder können nicht gespeichert werden"

Probiere es aus

 add_action('save_post', 'add_fields_contest', 10, 2 ); function add_fields_contest( $id, $post ) { require_once(ABSPATH . 'wp-includes/pluggable.php'); if ( $post->post_type == 'contest' ) { update_post_meta( $id, 'userid', $_POST['userid'] ); update_post_meta( $id, 'title', $_POST['title'] ); update_post_meta( $id, 'name', $_POST['name'] ); update_post_meta( $id, 'age', $_POST['age'] ); echo 'Saving data to post id: '.$id; var_dump($_POST); die(); } 

Ich werde das ” Advanced Custom Fields ” -Plugin empfehlen

Ich bin mir nicht sicher, aber wie ich es verstehe. Frontend-Einreichungen sind sicher und Pluggable ist notwendig (wegen Magic Fields), aber möglicherweise eine Umleitung vom Backend verursacht, so dass Sie versuchen können:

 function add_fields_contest( $id, $post ) { if(!is_admin()){ require_once(ABSPATH . 'wp-includes/pluggable.php'); } if ( $post->post_type == 'contest' ) { update_post_meta( $id, 'userid', $_POST['userid'] ); update_post_meta( $id, 'title', $_POST['title'] ); update_post_meta( $id, 'name', $_POST['name'] ); update_post_meta( $id, 'age', $_POST['age'] ); } }