我在wordpress项目中使用高级自定义字段扩展。为了在特定页面上显示一些自定义内容,我在一个页面中有大约20个自定义字段,我通过这样的方式在主题文件中调用它们。
<?php if(get_field('name1') != ""): ?>
<div class="row-hardware">
<div class="partner-left"><img src="<? the_field('image1'); ?>" /></div>
<div class="partner-right">
<?php the_field('description1'); ?>
</div>
</div>
<?php endif; ?>
<?php if(get_field('name2') != ""): ?>
<div class="row-hardware">
<div class="partner-left"><img src="<? the_field('images2'); ?>" /></div>
<div class="partner-right">
<?php the_field('description2'); ?>
</div>
</div>
<?php endif; ?>
我为每个字段调用它们,我在高级自定义字段中看到它在管理区域中有拖放排序区域,但我怎么能像在主题文件前端上排序一样调用它们。 有什么好的解决方案吗?
这里我附有图片
感谢
答案 0 :(得分:1)
这样的事情应该有效(未经测试)
请注意<div class="clear"></div>
。将其添加到CSS:
.clear {
clear: both;
}
PHP:
<?php
$fields = get_field_objects();
$i = 0;
if ($fields) {
foreach ($fields as $field_name => $field) {
if (substr($field_name, 0, 5) == 'image' || substr($field_name, 0, 11) == 'description') {
if (($i % 2) == 0) {
echo '<div class="row-hardware">';
echo '<div class="partner-left"><img src="'.$field['value'].'" /></div>';
}
else {
echo '<div class="partner-right">'.$field['value'].'</div>';
echo '<div class="clear"></div></div>';
}
$i++;
}
}
}
?>
最后但并非最不重要。它不是那么动态,但如果你的字段数量不断变化,你应该考虑创建一个自定义的帖子类型。
<?php for ($i = 1; $i <= 19; $i++) : ?>
<div class="row-hardware">
<div class="partner-left"><img src="<?php the_field('image'.$i); ?>" /></div>
<div class="partner-right"><?php the_field('description'.$i); ?></div>
<div class="clear"></div></div>
<?php endfor; ?>