我希望有人可以帮助我。我在使用Wordpress的高级自定义字段插件的if语句时遇到问题。我有三个选项供用户选择,所有三个都可以选择,但如果他们愿意,他们也可以选择一个。
我遇到的问题是我编写的代码显示了所有HTML标记,甚至是空标记。这导致样式问题。我希望能够显示已填充的HTML。我在ACF论坛上尝试过这些解决方案,但无济于事。
链接:http://www.advancedcustomfields.com/resources/getting-started/code-examples/
这是我当时得到的快速(新手!)代码:
<a href="<?php the_sub_field('link'); ?>"><?php the_sub_field('link'); ?></a>
<a href="<?php the_sub_field('doc'); ?>"><?php the_sub_field('doc'); ?></a>
<p><?php the_sub_field('cap'); ?></p>
我看了ACF论坛并尝试了这个,但它打破了主题:
<?php if(the_sub_field('link')) {
echo '<a href="' . the_sub_field('link') . '">' . the_sub_field('link') . '</a>';
} ?>
<?php if(the_sub_field('doc')) {
echo '<a href="' . the_sub_field('doc') . '">' . the_sub_field('doc') . '</a>';
} ?>
<?php if(the_sub_field('cap')) {
echo '<p>' . the_sub_field('cap') . '</p>';
} ?>
我正在寻找一些帮助来完成这项工作。我不认为我离正确的答案太远了,但是我有点像一个超出标准前端的东西的新手,任何想法都会非常感激。
谢谢!
答案 0 :(得分:1)
尝试使用get_sub_field();
<?php if(get_sub_field('link')) {
echo '<a href="' . the_sub_field('link') . '">' . the_sub_field('link') . '</a>';
} ?>
<?php if(get_sub_field('doc')) {
echo '<a href="' . the_sub_field('doc') . '">' . the_sub_field('doc') . '</a>';
} ?>
<?php if(get_sub_field('cap')) {
echo '<p>' . the_sub_field('cap') . '</p>';
} ?>
当循环遍历其中一个字段时,此函数返回当前行的子字段。
答案 1 :(得分:1)
就像Dk-Macadamia所说,尝试在循环中使用get_sub_field()
而不是the_sub_field()
差异为get_sub_field()
将值作为字符串返回,the_sub_field()
打印数据
此外get_sub_field()
仅在转发器/流体场类型下工作,否则无法工作,
如果它不是转发器/流体场的子字段,只需尝试get_field()