更新:
查看最近的相关问题(实际工作示例):
因此,您首先需要通过 Orders 项目中的显示值设置产品属性,以便为该值获得一个清晰显示的标签。然后,您必须在相关产品中使用任何值设置此属性(这些强制性属性值将被您的海关值替换。
因此,如果您的属性名称是“主要选择”(例如),您将在以下位置设置 pa_primary-choice:
wc_add_order_item_meta($item_id, 'pa_primary-choice', $custom_field_value, true);
然后您将在产品标题项目下方的订单项目中获得带有自定义字段值的标签名称(这里“XXXX”是您显示的自定义字段值):
Primary choice: XXXX
抱歉,由于您的问题不是很清楚,也不是很详细,也没有您使用的任何代码。我想您说的是您为可变产品设置并反映在购物车对象项目上的产品自定义字段。
您可能需要一些额外的代码来将此信息添加为元数据,以便可以将其视为订单的一部分。您可以尝试以下方法,根据数据在您的产品页面、购物车和结帐时的设置方式调整代码...
add_action('woocommerce_add_order_item_meta','add_custom_values_to_order_item_meta', 1, 3 );
function add_custom_values_to_order_item_meta( $item_id, $values, $cart_item_key ) {
$custom_field1 = $_POST['my_custom_field1_key'];
// or $values['my_custom_field1_key'];
$custom_field2 = $_POST['my_custom_field2_key'];
// or $values['my_custom_field2_key'];
if ( !empty($custom field1) )
wc_add_order_item_meta($item_id, 'custom_meta_key1', $custom_field1, true);
if ( !empty($custom field2) )
wc_add_order_item_meta($item_id, 'custom_meta_key2', $custom_field2, true);
// And so on …
}
对于产品变体,它更复杂,如果您想为每个项目获得一些干净的东西,我的意思是一个标题,其中包含您自定义选择字段的值。目前,您问题中提供的信息和使用的代码无法为您提供更多帮助……
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。
对于“单独销售”,您可以使用 woocommerce_is_sold_individually 钩子从产品中删除数量前端设置:
add_filter( 'woocommerce_is_sold_individually', '__return_true' );
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。