以下是一个使用 Advanced Custom Fields(ACF)插件的示例代码,该代码可以处理重复字段并在子字段为空时不显示任何内容:
首先,你需要在 WordPress 后台安装和激活 ACF 插件。
然后,在主题的 functions.php 文件中添加以下代码来创建一个重复字段组:
function register_acf_fields() {
if( function_exists('acf_add_local_field_group') ):
acf_add_local_field_group(array(
'key' => 'group_1',
'title' => '重复字段组',
'fields' => array(
array(
'key' => 'field_1',
'label' => '子字段',
'name' => 'sub_field',
'type' => 'text',
),
),
'location' => array(
array(
array(
'param' => 'post_type',
'operator' => '==',
'value' => 'post', // 这里可以根据你的具体需求更改
),
),
),
));
endif;
}
add_action('acf/init', 'register_acf_fields');
在这个示例中,我们创建了一个名为“重复字段组”的字段组,其中包含一个子字段。子字段的类型是文本类型,你可以根据需要更改它。
接下来,在你想要显示这些重复字段的地方添加以下代码:
if( have_rows('重复字段组') ):
while( have_rows('重复字段组') ) : the_row();
// 检查子字段是否为空
if( get_sub_field('sub_field') ):
$sub_field_value = get_sub_field('sub_field');
echo '' . $sub_field_value . '
';
endif;
endwhile;
else:
// 如果没有重复字段,可以显示默认内容或者不显示任何内容
endif;
在这个示例中,我们首先使用 have_rows()
来检查是否有重复字段可用。然后,我们使用 get_sub_field()
来获取子字段的值,并检查它是否为空。如果子字段不为空,我们将其值输出为一个段落。
你可以根据需要更改输出的 HTML 结构和样式,这只是一个示例。
希望这个示例能够帮助你解决问题!
上一篇:ACF重复字段只显示一行