get_post_meta - obține o singură valoare

25 oct. 2012, 22:15:07
Vizualizări: 22.7K
Voturi: 1

Când folosesc get_post_meta($post->ID, "company_wp_box_g", false) primesc înapoi un array de perechi cheie/valoare.

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)

Cum pot obține o singură valoare, de exemplu f_name?

doar pentru informare, totul are loc în interiorul unui foreach loop:

$args = array(
    'numberposts' => -1, // obține toate posturile
    'post_type' => 'company'
);

$posts = get_posts($args);  


foreach ($posts as $post){ 

    // execută operațiuni

}
1
Comentarii

Array-ul poate fi serializat în timpul inserării în baza de date, poți folosi pur și simplu get_post_meta și să-l stochezi într-o variabilă și să-l folosești ca un array. http://www.kvcodes.com/2017/06/get_post_meta-example/

Kvvaradha Kvvaradha
11 iun. 2017 19:19:33
Toate răspunsurile la întrebare 1
2

Dacă fiecare valoare meta are cheia f_name

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

Dacă nu ești sigur de conținut și vrei să cauți primul disponibil

$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 oct. 2012 22:28:10
Comentarii

este posibil să faci asta fără a folosi o variabilă? get_post_meta($post->ID, "company_wp_box_g", true)->key ??

Iladarsda Iladarsda
25 oct. 2012 22:33:26

Nu poți folosi get_post_meta($post->ID, "company_wp_box_g", true)->key deoarece valoarea returnată de funcție nu este un obiect ci un array, dar poți probabil să faci type casting la obiect și apoi să-l folosești ((object)get_post_meta($post->ID, "company_wp_box_g", true))->key

Mridul Aggarwal Mridul Aggarwal
25 oct. 2012 22:36:37