Woocommerce ACF,在电子商务购物车中发布对象
我希望这是一个愚蠢的问题,但我目前找不到明智的解决办法 我在我的产品页面中有一个自定义字段-这是一个关系字段-我想为我的购物车页面中的每个产品显示一个RF字段 更具体地说:我有一个与品牌相关的产品。该品牌有一个“发货时间”字段 目前,我的函数正在部分工作,即它显示请求值,但仅显示购物车中的第一个项目。 这是我在function.php中的代码Woocommerce ACF,在电子商务购物车中发布对象,woocommerce,advanced-custom-fields,Woocommerce,Advanced Custom Fields,我希望这是一个愚蠢的问题,但我目前找不到明智的解决办法 我在我的产品页面中有一个自定义字段-这是一个关系字段-我想为我的购物车页面中的每个产品显示一个RF字段 更具体地说:我有一个与品牌相关的产品。该品牌有一个“发货时间”字段 目前,我的函数正在部分工作,即它显示请求值,但仅显示购物车中的第一个项目。 这是我在function.php中的代码 add_filter( 'woocommerce_get_item_data', 'wc_add_shipping_to_cart', 10, 2 );
add_filter( 'woocommerce_get_item_data', 'wc_add_shipping_to_cart', 10, 2 );
function wc_add_shipping_to_cart( $cart_data, $cart_item )
{
$custom_shipping = array();
if( !empty( $cart_data ) )
$custom_shipping = $cart_data;
// Get the product ID
$product_id = $cart_item['product_id'];
$custom_field_value = get_post_meta( $product_id, 'brand_select', true );
$display_brand_shipping = get_field('shipping_time_brand', $custom_field_value);
if( $custom_field_value = get_post_meta( $product_id, 'brand_select', true ) )
$custom_shipping[] = array(
'name' => __( 'Shipping', 'woocommerce' ),
'value' => $display_brand_shipping,
'display' => $display_brand_shipping,
);
return $custom_shipping; }
您能帮助我吗?您的代码不可测试,因为无法重现与产品自定义字段和ACF字段相关的问题,但可以通过以下方式简化:
add_filter( 'woocommerce_get_item_data', 'wc_add_shipping_to_cart', 10, 2 );
function wc_add_shipping_to_cart( $cart_item_data, $cart_item )
{
if( $brand_select = get_post_meta( $cart_item['product_id'], 'brand_select', true ) ) {
if( $shipping_time = get_field('shipping_time_brand', $brand_select ) ) {
$cart_item_data[] = array(
'name' => __( 'Shipping', 'woocommerce' ),
'value' => $shipping_time,
);
}
}
return $cart_item_data;
}
代码进入活动子主题(或活动主题)的function.php文件。产品与品牌的关联如何?品牌是自定义分类法还是产品属性?这个品牌的分类是什么?品牌是为产品设置的吗(就像产品类别或产品标签一样)?“品牌”是一种自定义的帖子类型,我通过关系字段将产品与之关联抱歉,但我无法提供更多帮助,因为它太过自定义,无法猜测什么不起作用。嗯,您需要什么样的信息?我有一个名为“品牌”的cpt,其中有一些字段(发货时间、网站等)。我有一些通过关系领域与品牌关联的产品。在这个关系中,我想在购物车页面上显示一个来自品牌关联的字段谢谢,这也行。不幸的是,我的问题仍然存在。