get_post_meta - ottenere un singolo valore

25 ott 2012, 22:15:07
Visualizzazioni: 22.7K
Voti: 1

Quando eseguo get_post_meta($post->ID, "company_wp_box_g", false) ottengo un array di coppie chiave/valore.

array (size=1)
      0 => 
        array (size=7)
          'f_name' => string 'John Doe' (length=14)
          'f_company_name' => string 'Something Ltd' (length=0)
          'f_description' => string '' (length=0)
          'f_phone' => string '0208 992 7222' (length=13)
          'f_cell_phone' => string '07809775200' (length=0)
          'f_email' => string 'jonh.doe@gmail.com' (length=0)
          'f_web' => string 'doe.com' (length=0)

Come ottenere un singolo valore, per esempio f_name?

Per informazione, tutto avviene all'interno di un foreach loop:

$args = array(
    'numberposts' => -1,
    'post_type' => 'company'
);

$posts = get_posts($args);  


foreach ($posts as $post){ 

    // esegui operazioni

}
1
Commenti

L'array può essere serializzato durante l'inserimento nel database, puoi usare semplicemente get_post_meta e memorizzarlo in una variabile per utilizzarlo come array. http://www.kvcodes.com/2017/06/get_post_meta-example/

Kvvaradha Kvvaradha
11 giu 2017 19:19:33
Tutte le risposte alla domanda 1
2

Se ogni valore meta ha la chiave f_name

$meta = get_post_meta($post->ID, "company_wp_box_g", true);
echo $meta['fname'];

Se non sei sicuro dei contenuti e vuoi cercare il primo disponibile

$name = false;
$meta = get_post_meta($post->ID, "company_wp_box_g", false);
foreach($meta as $array) {
    if(isset($array['f_name'])) {
        $name = $array['f_name'];
        break;
    }
}
echo $name;
25 ott 2012 22:28:10
Commenti

è possibile fare questo senza usare una variabile? get_post_meta($post->ID, "company_wp_box_g", true)->key ??

Iladarsda Iladarsda
25 ott 2012 22:33:26

Non puoi usare get_post_meta($post->ID, "company_wp_box_g", true)->key poiché il valore di ritorno della funzione non è un oggetto ma un array, ma probabilmente puoi convertirlo in oggetto e poi usarlo ((object)get_post_meta($post->ID, "company_wp_box_g", true))->key

Mridul Aggarwal Mridul Aggarwal
25 ott 2012 22:36:37