【发布时间】:2018-08-05 05:15:58
【问题描述】:
我有一个金属类型属性分配给我的产品,但不用作变体的一部分,我仍然想获取每个父产品的金属类型并将其显示在购物车/结帐页面中。
要获取所选金属类型术语的名称,我使用以下方法:
$_product = $cart_item['data]'];
$parent_id = $_product->get_parent_id();
$parent_attributes = wc_get_product($parent_id)->get_attributes();
$term_id = $parent_attributes['pa_metal-type']['data']['options'][0];
$term = get_term_by('id', $termId, 'pa_metal-type');
$term_name = $term->name;
我尝试使用 woocommerce_get_item_data 过滤器似乎不起作用,我知道我在某个地方犯了错误,但我没有足够的经验知道在哪里:
// Add metal type to cart line items
add_filter( 'woocommerce_get_item_data', 'get_metal_type', $cart_data, $cart_item );
function get_metal_type($cart_data, $cart_item) {
$_product = $cart_item['data]'];
$parent_id = $_product->get_parent_id();
$parent_attributes = wc_get_product($parent_id)->get_attributes();
$term_id = $parent_attributes['pa_metal-type']['data']['options'][0];
$term = get_term_by('id', $termId, 'pa_metal-type');
$term_name = $term->name;
$custom_items = array();
if( !empty( $cart_data ) ) { $custom_items = $cart_data; }
if( !empty($term) ) {
$custom_items[] = array(
'key' => 'Metal Type',
'value' => $term_name,
);
return $custom_items;
}
}
任何见解将不胜感激!
【问题讨论】:
标签: php wordpress woocommerce cart checkout