¿Cómo guardar una matriz con un metakey en postmeta?

12

Tengo una matriz guardada en postmata, cada clave de matriz se convierte en un metakey. Quiero cambiar el código para guardar toda la matriz con un solo metakey. ¿Como hacer eso? Gracias!

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

}
    
pregunta Jenny 06.08.2011 - 09:47

1 respuesta

22

No es necesario recorrer los valores. Solo usa update_post_meta($post_ID, {key}, {array of vals}) , ¡debería hacerlo!

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

Eso es todo! Cuando lo traigas para su uso, haz lo siguiente:

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

$ poddata es la matriz de valores.

    
respondido por el Rutwick Gangurde 06.08.2011 - 10:46

Lea otras preguntas en las etiquetas