Wert einer Auswahloption in Kommentarform als Kommentar-Meta speichern

In einem Plugin, das ich schreibe, muss der Benutzer eine Option aus einer Dropdown-Liste auswählen, bevor er einen Kommentar posten kann. Ich habe die Aktion “comment_form” verwendet und ein Dropdown in das Kommentarformular eingefügt.

/** * Modify the comment to add our custom left and right dropdown */ function modify_comment_form($post_id) { echo "   Neutral Comment " . $this->get_left_answer() . " " . $this->get_right_answer() . " "; } add_action('comment_form', 'modify_comment_form'); 

Das sieht so aus:

Bildbeschreibung hier eingeben

Jetzt muss ich nur noch den Wert dieser Dropdown-Liste speichern können, wenn der Kommentar als Metadaten dieses speziellen Kommentars gepostet wird. Beachten Sie, dass es sich hierbei um ein Plugin handelt, und ich möchte die core-Wordpress-Dateien nicht ändern, wie dies hier in einem Tutorial vorgeschlagen wird. Ich fand eine relevante Diskussion über das WordPress-Forum, aber ich konnte immer noch nicht die Antwort finden, die ich suchte.

Wie kann ich den ausgewählten Optionswert als Kommentar-Meta in der WordPress-database speichern?

Muss ich hierfür AJAX verwenden oder kann dies einfach durch Verwendung einer Aktion oder eines Filters erreicht werden, mit denen ich den Wert des Dropdown-Menüs abrufen kann?

Solutions Collecting From Web of "Wert einer Auswahloption in Kommentarform als Kommentar-Meta speichern"

Sie können die function update_user_meta für angemeldete Benutzer und die PHP-function setcookie für die Besucher verwenden. Hier update_user_meta wie Sie mit update_user_meta

Sie können diese function bei der Übergabe des Formulars oder durch Ausführen von AJAX ausführen, ich würde Ihnen empfehlen, es mit AJAX auszuführen.

 function wpse_update_user_commentform() { /** * Get values from the selected * Dropdown as tha variable $side * Change this to your dropdown name */ $side = $_POST['dropdown']; $comment_id = get_comment_ID(); // Update the comment meta "comment_side" to the selected value update_comment_meta( $comment_id, 'comment_side', $side ); }