我正在尝试为 H4 元素设置样式,该元素具有不同宽度的左边框和底边框以及由客户将在 CMS 中填写的自定义字段定义的特定颜色。我的 CMS 布局是正确的,但我知道下面的代码不正确。我的问题区域特别是 H4,代码的其他部分呈现正确。
<?php
if (get_field("sponsorlogos")){
while (has_sub_field("sponsorlogos")){
if (get_row_layout() == "sponsor_category_title"){ // Sponsor Category Title
echo '<h4 style="border-left: 10px solid '.the_sub_field('sponsor_category_title_colour').' !important; border-bottom: 1px solid '.the_sub_field("sponsor_category_title_colour").' !important; margin: 40px 0 15px 0;">';
the_sub_field("sponsor_category_title_text");
echo '</h4>';
}
if (get_row_layout() == "sponsor_logo_container"){ // Sponsor Repeater Field
$rows = get_sub_field('sponsor_item');
if ($rows){
echo '<ul id="sponsor-logo-container">';
foreach($rows as $row){
echo '<li class="sponsor-logo"><a class="logo-link" target="_blank" href="'.$row['sponsor_link'].'"><img width="190" height="110" src="'.$row['sponsor_logo'].'" alt="'.$row['sponsor_title'].'"class="logo-image grayscale" /></a><span class="staff-name">'.$row['sponsor_support'].'</span></li>';
}
echo '<div style="clear:both;"></div>';
echo '</ul>';
}
}
}
}
?>
生成的标记如下:
<h4 style="border-left: 10px solid !important; border-bottom: 1px solid !important; margin: 40px 0 15px 0;">Bronze</h4>
你可以看到它省略了十六进制的 '#xxxxxx' 颜色部分。
我应该重申一下,因为十六进制颜色在标记中成功吐出两次(如预期的那样),但它出现在 H4 元素上方。
我确定我没有正确使用高级自定义字段标签。
帮助!
最佳答案
尝试从
更改 PHP 代码echo '<h4 style="border-left: 10px solid '.the_sub_field('sponsor_category_title_colour').' !important; border-bottom: 1px solid '.the_sub_field("sponsor_category_title_colour").' !important; margin: 40px 0 15px 0;">';
到
echo '<h4 style="border-left: 10px solid '. get_sub_field('sponsor_category_title_colour').' !important; border-bottom: 1px solid '.get_sub_field("sponsor_category_title_colour").' !important; margin: 40px 0 15px 0;">';
换句话说,将 the_sub_field() 替换为 get_sub_field()。当您已经有 echo 调用时,您应该使用 get_sub_field() 函数。当前面没有 echo 时,您可以使用 the_sub_field()。
关于php - WP : Advanced Custom Fields. 灵活内容 + 转发器字段。在内联 CSS 中使用自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475421/