gpt4 book ai didi

php - 使用 WP_Query 显示 WooCommerce 自定义结帐字段

转载 作者:行者123 更新时间:2023-12-04 15:04:39 26 4
gpt4 key购买 nike

我使用插件创建一些自定义 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 中添加一个 .= 但这没有用。

最佳答案

您的代码中有一个小错误,因为 $get_b2b_fields->post_name 是空的。

简单替换:

$fields['billing'][$get_b2b_fields->post_name] = array(

与:

$fields['billing'][$get_b2b_fields->post->post_name] = array(

现在它可以工作了。

关于php - 使用 WP_Query 显示 WooCommerce 自定义结帐字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66382944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com