2016-03-31 11 views
0

Ich mache eine Schaltfläche Repeater in einem Building Block Builder alle durch Advanced Custom Felder erstellt und alles funktioniert und druckt gut, außer wo ich zu dem Teil, wo ich meine $ button_colour zurücksetzen muss. Es scheint, es in Ordnung zu setzen, aber wenn ich var dump die neue Variable ($ first_colour) seine Rückkehr "null".

Das Ziel ist es, in der Lage zu sein, eines von drei Dropdowns (schwarz, grün oder weiß) auszuwählen und es fügt als Klasse dem Button hinzu, der ihm sein ganzes Styling gibt.

Ich habe es an einem anderen Projekt, das ich vor einer Weile gearbeitet habe, also habe ich diesen Code aus einem Projekt gezogen, das "Custom Field Suite" verwendet, so verstehe ich, dass dies nicht der richtige Weg ist.

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Ich fand die Antwort selbst Sie brauchen den Reset überhaupt nicht mit ACF gehen Sie einfach direkt zum == Überprüfen. Code ist unter:

echo "<div class=\"block-inner\">\n"; 
$buttons = get_sub_field('button'); 
//var_dump($buttons); 

if(!empty($buttons)){ 
    echo "<div id=\"button-wrapper\" class=\"button-wrapper\">\n"; 
    foreach($buttons as $button){ 
     $button_title = $button['button_title']; 
     $button_colour = $button['button_colour']; 
     $background_colour = $button['background_colour']; 
     $add_class = $button['add_a_class']; 
     $link_url = $button['destination_url']; 
     //var_dump($add_class); 
     //var_dump($button_colour); 

     echo "<div id=\"button-container\" class=\"button-container\">\n"; 
     printf("<a class='%s %s' href='%s'>%s</a>\n", 

       ($button_colour=="green")?"green-btn":(
           ($button_colour=="white")?"white-btn":(
            ($button_colour=="black")?"black-btn":"" 
           ) 
          ), 
       !empty($add_class)?$add_class:"", 
          $link_url, 
          $button_title 
         ); 



    } 
} 

echo "</div>\n"; 
echo "</section>\n";