Metabox wird nicht speichern

Ich versuche, eine Metabox in einem benutzerdefinierten Post-Typ zu erstellen. Wenn ich versuche, Informationen in das Feld “Listing Price” einzufügen und den Post zu aktualisieren, werden die Informationen nicht gespeichert und verschwinden, sobald die Seite neu geladen wird. Bitte sehen Sie sich meinen Code unten an und lassen Sie mich wissen, wenn Sie etwas sehen, das dieses Problem verursachen könnte. Vielen Dank!

EDIT: Ich habe es herausgefunden. Ich bin mir immer noch nicht sicher, warum meine vorherige Methode nicht funktionieren würde. Ich änderte den Wert des Eingabefeldes in ID, ‘listing_price’, true); ?> und jetzt die Box aktualisiert!

ID ); ?> 
<input type="number" name="listing_price" id="listing-price" value=""/>
Listing Description
ID, 'listing_description', true ); $editor_id = 'listing_description'; $settings = array( 'textarea_rows' => 8, 'media_buttons' => false ); wp_editor( $content, $editor_id, $settings ); ?>
<?php } function cns_meta_save( $post_id ) { // Checks save status $is_autosave = wp_is_post_autosave( $post_id ); $is_revision = wp_is_post_revision( $post_id ); $is_valid_nonce = ( isset( $_POST[ 'cns_listing_nonce' ] ) && wp_verify_nonce( $_POST[ 'cns_listing_nonce' ], basename(__FILE__) ) ) ? 'true' : 'false'; // Exits script depending on save status if( $is_autosave || $is_revision || !$is_valid_nonce ){ return; } if( isset( $_POST['listing_price'] ) ) { update_post_meta( $post_id, 'listing_price', sanitize_text_field( $_POST[ 'listing_price' ] ) ); } } add_action( 'save_post', 'cns_meta_save' );

Solutions Collecting From Web of "Metabox wird nicht speichern"

  

Sie vergessen, “d” zu setzen, wo Sie Ihren Listenpreis widerspiegeln.

Sie schreiben auch keinen Code für listing_description, um den Inhalt des Editors zu speichern.

 if( isset( $_POST['listing_description'] ) ) { update_post_meta( $post_id, 'listing_description', sanitize_text_field( $_POST[ 'listing_description' ] ) ); } 

Ich hoffe, das wird dir helfen.

Hallo, Sie vermissen Ihren Meta-Namen beim Abrufen des Meta-Wertes. Sie haben nur die Post-ID angegeben, Sie müssen auch den Meta-Namen eingeben.

  $cns_stored_meta = get_post_meta( $post->ID ); 

Sollte sein

  $cns_stored_meta = get_post_meta( $post->ID , 'listing_price'); 

Vorschlag Wenn Sie das Meta- array nicht erhalten wollen und es dann mit einem Index wie $cns_stored_meta[0] analysieren wollen, können Sie den dritten Parameter als true der den Wert als String und nicht als Array $cns_stored_meta[0]

 $cns_stored_meta = get_post_meta( $post->ID , 'listing_price', true); 

Jetzt können Sie direkt auf $cns_stored_meta