在 woocommerce 上,我使用下面的代码在购物车和结帐时呈现一些产品自定义字段:
add_filter( 'woocommerce_get_item_data', 'rendering_meta_field_on_cart_and_checkout', 10, 2 );
function rendering_meta_field_on_cart_and_checkout( $cart_data, $cart_item ) {
$custom_items = array();
if( !empty( $cart_data ) ) {
$custom_items = $cart_data;
}
if( isset( $cart_item['wccpf_enter_product_id'] ) ) {
$diamond = $cart_item['wccpf_enter_product_id'];
$pacolor = get_the_terms($diamond, 'pa_color');
foreach ( $pacolor as $pacolor ) {
$color= $pacolor ->name;
}
$custom_items[] = array( "name" => "color", "value" => $color);
}
return $custom_items;
}
如何在订单中显示自定义产品字段 wccpf_enter_product_id' 值?
Thanks.
您可以使用 woocommerce_add_order_item_meta 操作挂钩中挂钩的自定义函数来实现此目的。
您首先需要在产品中添加一个属性,以便为将显示为订单项元数据的自定义字段值获取“可读清洁标签”。
为此,您必须首先创建一个属性,然后在您的产品中将其设置为任意值(因为您将在下面的代码中替换该值)。
See HERE https://stackoverflow.com/questions/41981493/adding-user-custom-field-value-to-order-items-details/41988701#41988701关于该过程的更多解释......
您必须在我的代码中替换'custom_field_key'
通过您可以在其中找到的特定自定义键wp_woocommerce_order_itemmeta
MySQL 表中包含您的特定订单 ID 对应的商品 ID。
来找到对应的item ID
对于订单,您可以搜索wp_woocommerce_order_items
带有订单 ID 的 MySQL 表...
您还必须设置正确的属性 slug 而不是'pa_your_attribute'
在您的订单中显示此自定义字段值的正确标签文本。
(请参阅下面其他类似答案参考)。
所以你的代码将是这样的:
// ADD THE INFORMATION AS META DATA SO THAT IT CAN BE SEEN AS PART OF THE ORDER
add_action('woocommerce_add_order_item_meta','add_and_update_values_to_order_item_meta', 1, 3 );
function add_and_update_values_to_order_item_meta( $item_id, $item_values, $item_key ) {
// Getting your custom product ID value from order item meta
$custom_value = wc_get_order_item_meta( $item_id, 'custom_field_key', true );
// Here you update the attribute value set in your simple product
wc_update_order_item_meta( $item_id, 'pa_your_attribute', $custom_value );
}
}
代码位于活动子主题(或主题)的 function.php 文件中或任何插件文件中。
这应该有效
相关回答:
将用户自定义字段值添加到订单商品详细信息 https://stackoverflow.com/questions/41981493/adding-user-custom-field-value-to-order-items-details/41988701#41988701
动态添加自定义产品数据作为订单上的项目元数据 https://stackoverflow.com/questions/41971376/add-custom-product-data-dynamically-as-item-meta-data-on-the-order/41971727#41971727
在订单项目视图中显示自定义产品数据 https://stackoverflow.com/questions/41970803/displaying-custom-product-data-in-order-items-view/41971459#41971459
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)