douhe5092 2014-03-11 13:43
浏览 49
已采纳

Woocommerce WC_Order get_shipping_address()不作为数组返回

When retrieving order information from Woocommerce it states it should be an array see..

http://docs.woothemes.com/wc-apidocs/class-WC_Order.html#_get_shipping_address

Instead it returns a comma separated string.

Looking at the function in the core code of Woocommerce...

 public function get_shipping_address() {
  if ( ! $this->shipping_address ) {
      if ( $this->shipping_address_1 ) {
          // Formatted Addresses
                $address = array(
                'address_1'     => $this->shipping_address_1,
                'address_2'     => $this->shipping_address_2,
                'city'          => $this->shipping_city,
                'state'         => $this->shipping_state,
                'postcode'      => $this->shipping_postcode,
                'country'       => $this->shipping_country
                );
         $joined_address = array();
            foreach ( $address as $part ) {
                if ( ! empty( $part ) ) {
                    $joined_address[] = $part;
                }
            }
            $this->shipping_address = implode( ', ', $joined_address );
        }
 }
  return $this->shipping_address;
 }

I can see it using implode to create the string, without modifying this function how can I call this function and retrieve $address as an array? (if this is possible?)

The reason is I CAN explode the returned value but commas in the address will break it.

  • 写回答

1条回答 默认 最新

  • douyuan1752 2014-03-12 17:17
    关注

    Habit of answering my own questions...

    So to receive a string as explain above you would do it like this...

    $order = new WC_Order($order_id);
    echo $order->get_shipping_address();  //Road , Street, City, County, Postcode, Country
    

    If you want to receive individual lines you can do so like this...

    $order = new WC_Order($order_id);
    echo $order->shipping_city;      //London
    echo $order->shipping_country;   //GB
    

    IMO the later is going to be a lot more useful!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP