0
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 コマースでそれを行うにはどうすればよいですか? カートページの各製品の下にベンダーアドレスをエコーバックしたいので、カートページからもう一度。

4

1 に答える 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 に追加するだけです

于 2017-05-08T08:05:45.000 に答える