J'utilise un type de publication personnalisé pour un portefeuille. J'ai quelques options ici, sauvegardées par update_post_meta()
, cela semble fonctionner correctement, mais alors, à l'improviste (dans l'heure), les données se suppriment elles-mêmes. J'ai regardé dans la base de données et toutes les valeurs de métadonnées personnalisées sont vides.
Je suis vraiment un peu perplexe.
Voici le code qui enregistre une des options.
function update_colour_palette(){
global $post;
$color = get_post_custom($post->ID);
$palette = $color["palette"][0];
update_post_meta($post->ID, "palette", $_POST["palette"], $palette);
}
Toute aide, trucs et astuces seraient utiles.
Cela fait un moment que je me sers de cela pour résoudre exactement votre problème, je pense que je l’ai obtenu quelque part du codex. Mais ça marche.
// verify if this is an auto save routine.
// If it is our form has not been submitted, so we dont want to do anything
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
return $post_id;
Je suppose que ceci est dans une action post edit/post save, auquel cas vous devriez ajouter des contrôles pour le niveau utilisateur et un nonce. Si vous ne le faites pas, cela peut être appelé dans toutes sortes d'endroits où les valeurs de publication n'existent pas.