Wie fangen und ändern Sie benutzerdefinierte Feldwerte, wenn eine Seite aktualisiert wird

Ich versuche herauszufinden, wie die Werte in einigen benutzerdefinierten Feldern auf einer Seite abgefangen werden, wenn sie gespeichert werden. Ich habe gesucht und gefunden, wie man einen Haken zur functionendatei hinzufügt, um die Standardinhaltfelder zu erhalten, aber bis jetzt nicht ausgearbeitet haben, wie man dasselbe für kundenspezifische Felder tut. Ich verwende ACF Pro mit flexiblen Inhaltsfeldern, so dass die tatsächlichen Werte als multidimensionale Arrays durchgehen.

Der Code, den ich verwende, ist unten. Dieser Code ändert das Standardfeld ‘post_content’ vor dem Speichern erfolgreich. Grundsätzlich möchte ich das gleiche für verschiedene benutzerdefinierte Felder tun. Irgendwelche Ideen?

 function save_my_post ($ Inhalt) {
   globale $ post;
   if (isset ($ post) && get_post_type ($ post-> ID) == 'post') {
     $ content ['post_content'] = function_to_manipulate_the_content ();
   }
   gib $ content zurück;
 }
 add_filter ('wp_insert_post_data', 'save_my_post');

Solutions Collecting From Web of "Wie fangen und ändern Sie benutzerdefinierte Feldwerte, wenn eine Seite aktualisiert wird"

Alles hängt davon ab, wie Ihre “benutzerdefinierten Felder” gespeichert werden. Wenn Sie die Werte als Post-Meta speichern, müssen Sie die function update_post_meta aufrufen , um sie auf wp_insert_post_data zu aktualisieren. Im folgenden Beispiel setzen Sie das Post-Meta “my_meta_key” mit dem String-Wert “my_meta_value”.

function save_my_post( $content ) { global $post; if( isset($post) && get_post_type( $post->ID ) == 'post' ){ update_post_meta( $post->ID, 'my_meta_key', 'my_meta_value' ); } return $content; } add_filter( 'wp_insert_post_data', 'save_my_post' );