为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 WooCommerce 结帐页面上显示自定义产品字段?

如何在 WooCommerce 结帐页面上显示自定义产品字段?

PHP
MYYA 2021-11-19 16:32:30
我试图checkout_name在结帐页面上显示自定义产品字段,但我似乎无法弄清楚如何。我正在关注这里的结账钩子视觉指南。add_action( 'woocommerce_checkout_before_customer_details', 'custom_before_checkout_form', 10 );function custom_before_checkout_form( $cart_data ){    $meta_key = 'checkout_name';    $product_id = $cart_item['product_id'];    $meta_value = get_post_meta( $product_id, $meta_key, true );    if( !empty( $cart_data ) )        $custom_items = $cart_data;    if( !empty($meta_value) ) {        $custom_items[] = array(            'key'       => __('Store Name', 'woocommerce'),            'value'     => $meta_value,            'display'   => $meta_value,        );    }    return $custom_items;}
查看完整描述

1 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

自定义结帐字段需要在结帐表单内。如果不是,则不会在提交时发布字段值。


您的代码中也有一些错误。尝试使用位于结帐表单内的钩子尝试以下操作,就在帐单字段之前(假设checkout_name存在自定义产品字段)。


add_action( 'woocommerce_checkout_before_customer_details', 'custom_before_checkout_form' ); 

function custom_before_checkout_form(){

    // Loop though cart items 

    foreach ( WC()->cart->get_cart() as $item ) { 

        // Get the WC_Product Object 

        $product = $item['data'];


        echo '<div align="center">' . $product->get_meta( 'checkout_name' ) . '</div><br>'; 

    }

}

代码位于活动子主题(或活动主题)的 functions.php 文件中。它应该更好地工作。


查看完整回答
反对 回复 2021-11-19
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信