Löschen Sie einzelne Metazeilen aus mehreren Metazeilen unter demselben Schlüssel eines Posts

Ich speichere Metadaten für meine Posts mit einem einzigen Schlüssel und erstelle so mehrere Metadaten.

 $user_id, 'message' => $message ); add_post_meta( $post_id, '_s_messaged', $data ); 

Für Post-ID 123 können also mehrere Daten vorhanden sein:

Post ID 123 & Meta ID 1 | array('user_id'=>1,'message'=>'Some message');
Post ID 123 & Meta ID 2 | array('user_id'=>5,'message'=>'Another message');

Jetzt möchte ich eins nach dem anderen löschen. Ich habe einen process verwaltet, so dass ich die Post-ID und die zugehörige Benutzer-ID haben kann. Jetzt möchte ich die Löschung bearbeiten.

 $post_id = $_GET['post']; //ie $post_id = 123 $user_id = $_GET['user']; //ie $user_id = 5 $meta_data = get_post_meta( $post_id, '_s_messaged' ); 

Wenn Sie var_dump($meta_data) , wird var_dump($meta_data) :

 Array (Größe = 2)
    0 =>
       Array (Größe = 2)
          'user_id' => int 1
          'Nachricht' => Zeichenfolge 'Nachricht' (Länge = 12)
    1 =>
       Array (Größe = 2)
          'user_id' => int 5
          'message' => string 'Eine andere Nachricht' (length = 15)

Wie kann ich jetzt delete_post_meta() , um nur die entsprechende Meta-Zeile zu löschen, in der 'user_id' == $user_id ?

Solutions Collecting From Web of "Löschen Sie einzelne Metazeilen aus mehreren Metazeilen unter demselben Schlüssel eines Posts"