2016-03-30 17 views
0

Also habe ich diesen Code in einer meiner PHP-Dateien, um jedes benutzerdefinierte Feld in meiner Wordpress-Site, jetzt .. Ich möchte diesen Code zu begrenzen und nur ein einzelnes benutzerdefiniertes Feld durch einen Namen des Feldes . Wie würde ich darüber gehen?Benutzerdefinierte Felder while-Schleife

<?php 
$custom_fields = get_option('wp_estate_custom_fields', true);  

$i=0; 
if(!empty($custom_fields)){ 
    while($i< count($custom_fields)){ 
     $name    = $custom_fields[$i][0]; 
     $label    = $custom_fields[$i][1]; 
     $type    = $custom_fields[$i][2]; 
     $order    = $custom_fields[$i][3]; 
     $dropdown_values = $custom_fields[$i][4]; 
     $slug    = str_replace(' ','_',$name); 

     $slug   = wpestate_limit45(sanitize_title($name)); 
     $slug   = sanitize_key($slug); 
     $post_id  =  $post->ID; 
     $show   =  1; 
     $i++; 

     if (function_exists('icl_translate')){ 
      $label  = icl_translate('wpestate','wp_estate_property_custom_front_'.$label, $label) ; 
     } 

     if($i%2!=0){ 
      print '<p class="half_form half_form_last">'; 
     }else{ 
      print '<p class="half_form">'; 
     } 
     $value=$custom_fields_array[$slug]; 
     wpestate_show_custom_field($show,$slug,$name,$label,$type,$order,$dropdown_values,$post_id,$value); 


    } 
} 

?> 

Hier ist der Datenbankwert des benutzerdefinierten Feldeintrags.

a:11:{i:0;a:5:{i:0;s:12:"plochacelkem";i:1;s:44:"[:cs]Zastavěná plocha[:en]Built up area[:]";i:2;s:10:"short text";i:3;s:1:"1";i:4;s:0:"";}i:1;a:5:{i:0;s:12:"plochauzitek";i:1;s:41:"[:cs]Užitková plocha[:en]Usable area[:]";i:2;s:10:"short text";i:3;s:1:"2";i:4;s:0:"";}i:2;a:5:{i:0;s:9:"dispozice";i:1;s:34:"[:cs]Dispozice[:en]Dispositions[:]";i:2;s:10:"short text";i:3;s:1:"3";i:4;s:0:"";}i:3;a:5:{i:0;s:4:"stav";i:1;s:39:"[:cs]Stav Objektu[:en]Property state[:]";i:2;s:8:"dropdown";i:3;s:1:"4";i:4;s:304:"[:cs]Velmi Dobrý[:en]Very Good[:],[:cs]Dobrý[:en]Good[:],[:cs]Špatný[:en]Bad[:],[:cs]Ve Výstavbě[:en]Being built[:],[:cs]Novostavba[:en]Newly built[:],[:cs]K Demolici[:en]For demolition[:],[:cs]Před Rekonstrukcí[:en]Before reconstruction[:],[:cs]Po Rekonstrukci[:en]Reconstructed[:]";}i:4;a:5:{i:0;s:13:"property date";i:1;s:12:"Dostupné od";i:2;s:10:"short text";i:3;s:1:"5";i:4;s:0:"";}i:5;a:5:{i:0;s:17:"property basement";i:1;s:5:"Sklep";i:2;s:10:"short text";i:3;s:1:"6";i:4;s:0:"";}i:6;a:5:{i:0;s:30:"property external construction";i:1;s:10:"Konstrukce";i:2;s:10:"short text";i:3;s:1:"7";i:4;s:0:"";}i:7;a:5:{i:0;s:16:"property roofing";i:1;s:11:"Střešení";i:2;s:10:"short text";i:3;s:1:"8";i:4;s:0:"";}i:8;a:5:{i:0;s:20:"property garage size";i:1;s:17:"Velikost garáže";i:2;s:10:"short text";i:3;s:1:"9";i:4;s:0:"";}i:9;a:5:{i:0;s:15:"property garage";i:1;s:8:"Garáže";i:2;s:10:"short text";i:3;s:2:"10";i:4;s:0:"";}i:10;a:5:{i:0;s:7:"zakazka";i:1;s:41:"[:cs]Číslo zakázky[:en]Order number[:]";i:2;s:7:"numeric";i:3;s:2:"11";i:4;s:0:"";}} 

Sagen wir, ich würde nur "zakazka" oder "plochacelzem" ausgeben. Wie würde ich den obigen Code modifizieren, um nur diesen auszugeben?

Antwort

0
<?php 
$custom_fields = get_option('wp_estate_custom_fields', true);  

if(isset($custom_fields[0])){ 
    for($i = 0; $i < count($custom_fields); ++$i) { 

     if($custom_fields[$i][0] != 'MYNAMEHERE') continue; 

     $name    = $custom_fields[$i][0]; 
     $label    = $custom_fields[$i][1]; 
     $type    = $custom_fields[$i][2]; 
     $order    = $custom_fields[$i][3]; 
     $dropdown_values = $custom_fields[$i][4]; 
     $slug    = str_replace(' ','_',$name); 

     $slug   = wpestate_limit45(sanitize_title($name)); 
     $slug   = sanitize_key($slug); 
     $post_id  =  $post->ID; 
     $show   =  1; 

     if (function_exists('icl_translate')){ 
      $label  = icl_translate('wpestate','wp_estate_property_custom_front_'.$label, $label) ; 
     } 

     if($i%2!=0){ 
      print '<p class="half_form half_form_last">'; 
     }else{ 
      print '<p class="half_form">'; 
     } 
     $value=$custom_fields_array[$slug]; 
     wpestate_show_custom_field($show,$slug,$name,$label,$type,$order,$dropdown_values,$post_id,$value); 

     break; 
    } 
} 

?> 
+0

Wow, vielen Dank, ich habe mein Gehirn über so lange gestreckt und wahrscheinlich nur verwirrt mich selbst .. DANKE! – Jan

+0

Super willkommen homie. – Brogan

Verwandte Themen