如何获取 woocommerce 购物车页面上的每个供应商的供应商 ID

问题描述 投票:0回答:1
global $woocommerce;
$items = $woocommerce->cart->get_cart();

foreach($items as $item => $values) { 
    $_product = $values['data']->post; 
    echo "<b>".$_product->post_title.'</b>  <br> Quantity: '.$values['quantity'].'<br>'; 
    $price = get_post_meta($values['product_id'] , '_price', true);
   echo "  Price: ".$price."<br>";

我使用以下方法来获取有关购物车上产品的数据并显示它。是否也可以找到每种产品的供应商?我如何在 woo commerce 中做到这一点?再次从购物车页面,因为我想在购物车页面上的每个产品下回显供应商地址。

php wordpress woocommerce cart vendor
1个回答
2
投票
  add_filter( 'woocommerce_get_item_data', 'wc_add_address_to_cart', 10, 2 ); 
function wc_add_address_to_cart( $other_data, $cart_item ) { 
    $post_data = get_post( $cart_item['product_id'] ); 
    $post_data->post_author; 
    $vendor_id = $post_data->post_author;
    echo '<br>';
    $Add = 'Address: ';
    $city = 'City: ';
    $tel = 'Phone: ';
    echo $test;
    $user_id = $vendor_id;

    // Get all user meta data for $user_id
    $meta = get_user_meta( $user_id );

    // Filter out empty meta data
    $meta = array_filter( array_map( function( $a ) {
        return $a[0];
    }, $meta ) );

    echo $Add;
    print_r( $meta ['_vendor_address_1'] );

    echo '<br>';

    echo $city;
    print_r( $meta['_vendor_city'] );

    echo '<br>';

    echo $tel;
    print_r( $meta['_vendor_phone'] ); 
    return $other_data; 

} 

终于得到了我想要的东西。只需将其添加到functions.php

© www.soinside.com 2019 - 2024. All rights reserved.