为什么我的 $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";
我正在构建块生成器中制作一个按钮转发器,所有内容都是通过高级自定义字段创建的,一切正常,打印正常,除了我到达必须重置我的 $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";