如何在WordPress文章/产品归档页添加多个ACF自定义字段?
解决方法
你可以通过定义需要显示的ACF字段名称列表,循环获取每个字段的值并拼接起来,就能在归档页显示多个自定义字段了。修改后的代码如下:
add_filter('nectar_post_grid_excerpt','salient_mod_post_grid_excerpt'); function salient_mod_post_grid_excerpt($excerpt) { global $post; $custom_meta = ''; // 定义需要显示的ACF字段名称,替换成你自己的实际字段名 $acf_fields = ['my_field', 'second_field', 'third_field']; // 循环遍历并获取每个ACF字段的值 if( function_exists('get_field') && isset($post->ID) ) { foreach($acf_fields as $field_name) { $field_value = get_field($field_name, $post->ID); // 仅当字段有内容时才添加,避免空占位 if(!empty($field_value)) { // 自定义字段的显示格式,可根据需求调整HTML结构 $custom_meta .= '<div class="acf-custom-field">' . $field_value . '</div>'; } } } $custom_excerpt = $excerpt . $custom_meta; return $custom_excerpt; }
代码说明:
- 先通过数组
$acf_fields列出所有需要展示的ACF字段名称,直接替换成你自己的字段名即可。 - 用
foreach循环遍历每个字段,调用get_field获取对应内容。 - 加入
!empty($field_value)判断,避免字段为空时显示无效内容。 - 你可以自由修改字段的显示格式,比如要显示字段标签+值的形式,可改成:
或者用$custom_meta .= '<div class="acf-custom-field"><strong>' . $field_name . ':</strong> ' . $field_value . '</div>';<br>、|等分隔符区分不同字段。
内容的提问来源于stack exchange,提问作者Fidel Ek
相关产品推荐
相关产品推荐

