Wie kann ich den Kommentar-Metawert vor dem Speichern bearbeiten?

Ich habe ein benutzerdefiniertes Feld in Kommentarform mit der function add_comment_meta () eingeführt.

Ich würde gerne wissen, ob es eine Möglichkeit gibt, die Daten des Kommentar-Metas zu bearbeiten, bevor die Post-Daten gespeichert werden, so dass jedes Mal, wenn die Daten durch meinen Wert ersetzt werden, bevor sie gespeichert werden.

Sagen wir, dass der Schlüssel brand_id .

Ich habe die folgende function verwendet, um den custom_meta Wert zu bearbeiten

 function update_comments_meta($post_id) { $args = array( 'post_id' => $post_id, ); $comments = get_comments($args); if (!empty($comments)) { foreach ($comments as $comment) { echo $comment; update_comment_meta($comment->comment_ID, 'brand_id', 'hard_coder'); } } } add_action('save_post', 'update_comments_meta'); 

Solutions Collecting From Web of "Wie kann ich den Kommentar-Metawert vor dem Speichern bearbeiten?"

Sie können den Aktions-Hook ” save_post ” verwenden

Fügen Sie den folgenden Code in functions.php hinzu und fügen Sie ihn mit Ihrem comment_meta-Code ein.

 function update_comments_meta( $post_id ) { // Do whatever add/update_comment_meta code you need } add_action( 'save_post', 'update_comments_meta' ); 

AKTUALISIEREN.

Als Beispiel habe ich unten den Code anhängen. Es wird ausgeführt, nachdem eine Post-Speichern / Aktualisieren-Aktion ausgetriggers wurde. Code ruft aktuelle Post-Kommentare (alle) ab und durchläuft dann das erhaltene Kommentar-Objekt. Es startet update_comment_meta mit der aus dem Kommentar-Objekt extrahierten ID.

 function update_comments_meta($post_id) { $args = array( 'post_id' => $post_id, ); $comments = get_comments($args); if (!empty($comments)) foreach ($comments as $comment) { update_comment_meta($comment->comment_ID, 'YOUR_META_KEY', 'YOUR_META_VALUE'); } } add_action('save_post', 'update_comments_meta'); 

Hoffe das ist der Fall, an dem Sie interessiert waren. Code getestet auf 4.3 twentyfifteen.

Referenzen:

  1. update_comment_meta ()
  2. get_comments ()