====== Wordpress Metabox (klassisch) für Post erstellen ====== Um eine einfache Metabox bei der Beitragsbearbeitenseiten (Post Edit Screen) einzufügen, kann folgender Code genutzt werden. HTML Ausgabe der Metabox

"; } public function save() { // Nichts machen bei Auto-Save if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return $post_id; } // Sanitizen von Eingaben //$mydata = sanitize_text_field( $_POST['myplugin_new_field'] ); // Update von einem Metafeld //update_post_meta( $post_id, '_my_meta_value_key', $mydata ); } }
===== Alternative als statische Klasse ===== Das hier ist eine alternative Version mit einer Klasse aus Static-Methods. Der Vorteil ist, dass diese nicht initialisiert werden muss, und wirklich nur aufgerufen wird, wenn Metaboxes von Wordpress gerendert werden. Mein lustiges HTML"; } public static function save() { // Nichts machen bei Auto-Save if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return $post_id; } // Sanitizen von Eingaben //$mydata = sanitize_text_field( $_POST['myplugin_new_field'] ); // Update von einem Metafeld //update_post_meta( $post_id, '_my_meta_value_key', $mydata ); } } ===== Erweitertes Beispiel mit statischer Klasse ===== In diesem Beispiel ist alles etwas konkreter. Es zeigt wie Daten aus einer Textarea gespeichert und geladen werden. Mit dieser Variante, kann man auf die gespeicherten Daten der Metabox auch direkt über die statische Methode zurück greifen, via: ''$metabox_value_description = AdditionalPostInfos::get_description()''

This will be displayed above the title on the blog post page.

HTML; } public static function save( $post_id ) { // Nichts machen bei Auto-Save if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // Nichts tun, wenn gar kein Meta mit geschickt wurde if( !isset( $_POST['additional_post_infos'] ) ) return; update_post_meta( $post_id, 'additional_post_infos', $_POST['additional_post_infos'] ); } public static function get_description():string { global $post; $post_meta_description = get_post_meta( $post->ID, 'additional_post_infos',true )['description'] ?? ''; return $post_meta_description; } }