我正在使用ACF plugin for WordPress。
使用“弹性内容”字段,管理员可以添加称为“复制”的布局。
在此布局中,他们可以选择“网格类型”(季度,第三,一半,完整)。这是在ACF中的外观:
这是它在我的模板文件中的外观:
<?php
// Begin layout builder
if( have_rows('layout_builder') ):
while ( have_rows('layout_builder') ) : the_row();
?>
<?php
// Begin layout - Copy
if( get_row_layout() == 'copy' ):
// Begin repeater
if( have_rows('copy') ):
// Grid
echo '<div class="grid-wrap">';
while ( have_rows('copy') ) : the_row();
?>
<div class="<?php
if ( get_sub_field('grid_type') == 'quarter' ) {
echo 'quarter';
}
if ( get_sub_field('grid_type') == 'third' ) {
echo 'third';
}
if ( get_sub_field('grid_type') == 'half' ) {
echo 'half';
}
if ( get_sub_field('grid_type') == 'full' ) {
echo 'full';
}
?>">
<?= get_sub_field('copy'); ?>
</div>
<?php
// End repeater
endwhile;
// End grid
echo '</div>';
endif;
// End layout
endif;
?>
<?php // End layout builder
endwhile;
endif;
?>
我期望grid_type
字段在前端吐出一个类,但是它是空的。
当我使用<?php var_dump( get_sub_field('grid_type') == 'half' ); ?>
测试该字段时,它将返回bool(false)
。
我在这里做错了什么?
答案 0 :(得分:1)
您将子字段grid_type放在错误的位置,您必须在复制转发器循环之外执行此操作。这应该起作用:
$response["found"] = "i am here";
我建议您从复制以外的其他名称更改转发器的名称,因为您的布局具有相同的名称。