La bonne façon de procéder est de A :échapper à tous ces superglobaux $_POST.
et B. Écrire une requête comme indiqué ci-dessous.
Voici le tabledef pour wp_postmeta :
http://codex.wordpress.org/Database_Description #Table :_wp_postmeta
Étant donné que meta_id est une clé primaire auto_increment, vous ne le fournissez pas, MySQL le fait.
//$meta_id = mysql_real_escape_string($_POST['meta_id']); <<-- not needed.
$post_id = mysql_real_escape_string($_POST['post_id']);
$meta_key = mysql_real_escape_string($_POST['meta_key']);
$meta_value = mysql_real_escape_string($_POST['meta_value']);
$sql=" INSERT INTO wp_postmeta
(post_id, meta_key, meta_value)
VALUES
('$post_id','$meta_key','$meta_value') "; //<<-- don't forget the quotes!
if ($result = mysql_query($sql)) {
//You can get the new meta_id using:
$new_meta_id = mysql_insert_id($result);
} else {
die ("could not insert ".mysql_error());
}