So erstellen Sie ein benutzerdefiniertes Panel und Felder in der Beitragsseite

Ich möchte ein benutzerdefiniertes Plugin schreiben, das ein benutzerdefiniertes Feld unterhalb des Post-Editor-Fensters hinzufügt, das einige Felder und eine Schaltfläche zum Senden enthält. JS tritt ein, um Inhalte an die database zu senden, ohne den Post-Save / Submit-Mechanismus zu speichern oder zu stören.

Der Zweck besteht darin, Daten zu speichern, die beim Schreiben eines Beitrags schnell verwendet werden können. Ich könnte eine Plugin-Einstellungsseite machen, aber ich mag die Idee nicht, zwei Bildschirme zu verwenden, wenn es am selben Ort gemacht werden kann 🙂

Ich habe die Custom-Fields-Plugins gesehen, die aber einen Beitrag wertvoller machen, während ich etwas flexibleres möchte, das beim Schreiben eines Posts entsteht, aber nicht unbedingt mit diesem Post verbunden ist.

Ich kann nicht finden, wie man das macht …

Vielen Dank!

Solutions Collecting From Web of "So erstellen Sie ein benutzerdefiniertes Panel und Felder in der Beitragsseite"

In der WordPress-Welt heißt es “Meta-Box” und in Ihrem Fall wäre es das gleiche wie für Posts. Das Einzige, was Sie anders machen müssten, ist die Speicherfunktion, die die Daten in der Optionstabelle speichern soll, hier ist eine modifizierte Beispiel aus dem Kodex, der für dich als Ausgangspunkt funktionieren sollte:

< ?php /* Define the custom box */ add_action( 'add_meta_boxes', 'myplugin_add_custom_box_WPA83147' ); /* Adds a box to the main column on the Post and Page edit screens */ function myplugin_add_custom_box_WPA83147() { add_meta_box( 'myplugin_sectionid', __( 'My Post Section Title', 'myplugin_textdomain' ), 'myplugin_inner_custom_box_WPA83147', 'post' ); } /* Prints the box content */ function myplugin_inner_custom_box_WPA83147( $post ) { // Use nonce for verification wp_nonce_field( plugin_basename( __FILE__ ), 'myplugin_noncename_WPA83147' ); // The actual fields for data entry // Use get_option to retrieve an existing value from the database and use the value for the form $options = get_option('_WPA83147_options', array()); echo '