WordPress Metadaten speichern: Zeigt das Wort Array an, wenn ausgewählt

Ich versuche, benutzerdefinierte Felder für einen benutzerdefinierten Posttyp zu speichern. Wenn ich die Daten speichere, wird das Wort “Array” angezeigt, als ob ich versuche, ein Array zu echozieren. Ich habe einen var_dump gemacht und es gibt mir folgendes:

Array (1) {

[0] =>

Zeichenfolge (5) “Hallo”

}

Also habe ich versucht, es als $ _POST [‘catagory’] [0] wiederzugeben und es gibt mir das gleiche Ergebnis.

Hier ist mein Code:

/* * create meta box and fields for catagories */ function littlereds_menu_catagoriesMetaBox() { add_meta_box('littlereds_menu_catagoriesMeta', "Catagories", "littlereds_menu_catagoriesCallback", "littlereds_cat", "normal"); } add_action('add_meta_boxes', 'littlereds_menu_catagoriesMetaBox'); function littlereds_menu_catagoriesCallback($post) { wp_nonce_field(basename(__FILE__), 'littlereds_catagoryNonce'); $littlereds_storedMeta = get_post_meta($post->ID); ?> <input name="catagory" id="catagory" type="text" value="" /> 

<?php } /* * Save Catagories */ function littlereds_save_catagoriesMetaData($post_id) { //Check the save status $is_autosave = wp_is_post_autosave($post_id); $is_revision = wp_is_post_revision($post_id); $is_valid_nonce = (isset($_POST['littlereds_catagoryNonce']) && wp_verify_nonce($_POST['littlereds_catagoryNonce'], basename(__FILE__))) ? 'true' : 'false'; //Exits script based on save status if($is_autosave || $is_revision || !$is_valid_nonce) return; //Save or update field data if(isset($_POST['catagory'])) update_post_meta ($post_id, 'catagory', sanitize_text_field($_POST['catagory'])); } add_action('save_post', 'littlereds_save_catagoriesMetaData');

PS: Gibt es einen einfacheren Weg, hier Code zu schreiben, als 4 Felder vor jeder Zeile zu platzieren? Wenn die Tabulatortaste nicht funktioniert, ist das lästig.

Solutions Collecting From Web of "WordPress Metadaten speichern: Zeigt das Wort Array an, wenn ausgewählt"

Das Problem liegt also nicht beim Speichern, sondern darin, wie die gespeicherten Daten zurückgeladen werden … Siehe Dokumentation für get_post_meta : Wenn Sie keinen Metadatenschlüssel angeben , gibt die function alle Metadaten für diesen Beitrag zurück als ein Array zurückgegeben werden. Versuchen Sie es stattdessen:

 $littlereds_storedMeta = get_post_meta($post->ID, 'catagory', true); 

Beachten Sie den letzten Parameter “true”, der die function dazu zwingt, einen einzelnen Wert anstatt wieder ein Array zurückzugeben.

Hoffe das hilft!