为什么我的 $first-colour 变量没有转储?

Why is my $first-colour variable not dumping?

我正在构建块生成器中制作一个按钮转发器,所有内容都是通过高级自定义字段创建的,一切正常,打印正常,除了我到达必须重置我的 $button_colour 的部分。它似乎可以重置它但是当我 var dump 新变量($first_colour)时它返回 "null".

目的是让他们能够 select 三个下拉菜单之一(黑色、绿色或白色),并将其作为 class 添加到按钮,相应地赋予其所有样式.

我在前一段时间做的另一个项目中使用它,所以我从使用 "Custom Field Suite" 的项目中提取了这段代码,所以我知道这可能不是正确的方法。

如有任何帮助,我们将不胜感激。

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

        reset($button_colour);
        $first_colour = key($button_colour);
        var_dump($first_colour);


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

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



    }
}

echo "</div>\n";
echo "</section>\n";er code here

我自己找到了答案,您根本不需要使用 ACF 进行重置,只需直接进行 == 检查即可。代码如下:

    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";