Woocommerce订购出口

时间:2015-04-24 12:15:25

标签: php wordpress wordpress-plugin woocommerce

我是woocommerce的新手,我对php没有太多经验,但我试图为我的一个朋友获得一个简单的导出订单到xml。

add_action('woocommerce_order_status_completed','complete_orders',14,0);
function completed_orders($order_id)
{
$id =$post->ID;

$args = array(
            'id'            =>$id,
            'post_type'     =>'shop_order',
            'meta_key'      =>'_order_id',
            'posts_per_page'=>'-1'
             );

$my_query = new WP_Query($args);

if($my_query->have_posts()){
    $my_query->next_post();
    $customer_order = $my_query->posts;

    $order = new WC_Order($order_id);
    $order->populate($customer_order);
    $orderdata = (array) $order;
    $fields = array_values($orderdata);

    $xmlOrder = new DOMDocument();
    array_to_xml($fields,$xmlOrder);
    $xmlOrder->saveXML('/wp-order/'. $order_id);

    }

从上面的代码得到的是,当订单完成后它将获取订单ID然后将其转换为数组,然后我有另一种方法将该数组转换为xml

function array_to_xml($order,$xmlOrder)
{
foreach($order as $key=>$value)
{
    if(is_array($value))
    {
        $n = $xmlOrder->createElement($key)
        $node->appendChild($n);
        $array2xml($n,$value);
    }
    else
    {
        $attr = $xmlOrder->createAttribute($key);
        $attr->value =$value;
        $node->appendChild($attr);
    }
}
}

我必须做错事,如果有人可以帮助我或指出我的方向很好。

编辑: 我没有得到任何回应,但是我不知道我是否正确行事。这是我第一次使用woocommerce,而且文档并没有真正说太多。

0 个答案:

没有答案