Comment enregistrer un tableau avec une métake dans Postmeta?

12

J'ai un tableau enregistré dans postmata, chaque clé de tableau devient une métakey. Je veux changer le code pour sauvegarder le tableau entier avec une métakey. Comment faire ça? Merci!

$poddata = Array(
'pod_id' => $this->pod_id,
'url' => $this->url,
'name' => $this->name,
'description' => $this->description,
'service' => $this->service,
'status' =>$this->status,
'price' => $this->price
);

foreach ( $poddata as $k => $v ){

if ( get_post_meta( $this->id, $k ) == '' )
add_post_meta( $this->id, $meta_box, $v, true );

elseif ( $v != get_post_meta( $this->id, $k, true ) )
update_post_meta( $this->id, $k, $v );

elseif ( $v == '' )
delete_post_meta( $this->id, $k, get_post_meta( $this->id, $k, true ) );

}
    
posée Jenny 06.08.2011 - 09:47

1 réponse

22

Vous n'avez pas besoin de parcourir les valeurs. Il suffit d’utiliser update_post_meta($post_ID, {key}, {array of vals}) , cela devrait suffire!

<?php
$poddata = Array(
    'pod_id' => $this->pod_id,
    'url' => $this->url,
    'name' => $this->name,
    'description' => $this->description,
    'service' => $this->service,
    'status' =>$this->status,
    'price' => $this->price
    );

//Update inserts a new entry if it doesn't exist, updates otherwise
update_post_meta($post_ID, 'poddata', $poddata);
?>

C'est tout! Lorsque vous le récupérez pour utilisation, procédez comme suit:

    $poddata = get_post_meta($post_ID, 'poddata');

$ poddata est le tableau de valeurs.

    
réponse donnée Rutwick Gangurde 06.08.2011 - 10:46

Lire d'autres questions sur les étiquettes