【发布时间】:2021-05-28 15:57:02
【问题描述】:
我使用插件来创建一些自定义 B2B 字段。现在我需要在结帐页面上显示这些自定义字段。
function add_custom_b2b_fields_checkout( $fields ){
$args = array(
'post_type' => 'afreg_fields',
'post_status' => 'publish',
'posts_per_page' => '99',
'orderby' => 'name',
);
$get_b2b_fields = new WP_Query( $args );
if ($get_b2b_fields->have_posts()) : while ($get_b2b_fields->have_posts()) : $get_b2b_fields->the_post();
$fields['billing'][$get_b2b_fields->post_name] = array(
'type' => 'text',
'label' => get_the_title(),
'placeholder' => __(" ", "woocommerce"),
'class' => array('b2b-field'),
'required' => false,
);
endwhile;
return $fields;
endif;
}
add_filter( 'woocommerce_checkout_fields', 'add_custom_b2b_fields_checkout' );
代码几乎工作得很好。但它只显示最后一个字段,好像while 运行正确,但return $fields 只显示第一个自定义字段而不是全部。
我怎样才能显示所有字段而不是只显示一个?我尝试在$fields 上添加.=,但没有成功。
【问题讨论】:
标签: php wordpress woocommerce checkout custom-fields