web-dev-qa-db-fra.com

Comment sauvegarder un tableau avec une métaphore dans postmeta?

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 ) );

}
15
Jenny

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.

23
Rutwick Gangurde