Woocommerce管理员订单详细信息:添加文件下载操作

时间:2019-03-06 11:22:46

标签: woocommerce hook-woocommerce

我想在WooCommerce中创建一个下载链接。这是我要做的前两个动作:

首先->添加一列:

    add_filter('manage_edit-shop_order_columns', function($columns) {



    $new_columns = is_array($columns) ? $columns : array();



    $new_columns['fatt24-invoice'] = __('Fattura24', 'fatt-24');



    return $new_columns;



});

秒->在管理员订单详细信息中添加相同的链接:

add_action('woocommerce_admin_order_data_after_order_details',function($ order){

 echo div(array(h2(__('Fattura 24', 'fatt-24')), p(actions_of_order($order->get_id(), DT_FATTURA))));



}, 10, 1);

下面是action_of_order函数:

function actions_of_order($order_id, $doc_type, $only_inner = false)

{

    $s = order_status($order_id);

    //trace('actions_of_order', $order_id, $doc_type, $s);

    $r = admin_actions($s['status']);

    $wp_nonce = wp_create_nonce(FATT_24_ORDER_ACTIONS_NONCE);



    $cmd = function($r, $id) use ($doc_type, $wp_nonce)

    {

        $cmd = $r['cmd'];

        $onclick = "f24_pdfcmd('$id','$cmd','$doc_type','$wp_nonce')";

        if ($r['enabled'])

            return a(array('href'=>'#', 'onclick'=>$onclick), $r['label']); // link per visualizzare il pdf

        return $r['label'];

    };

    $pdf = function($r, $order_id)

    {

        if ($r['enabled'])

            return a(array('href'=>order_PDF_url($order_id), 'target'=>'_blank'), $r['label']);

        return $r['label'];

    };



    $h = array(

        //$cmd($r[0], $order_id), -- commented tag for broken link Davide Iandoli 25.01.2019


        $cmd($r[0], $order_id),

        //$pdf($r[1], $order_id),

        $cmd($r[1], $order_id)

    );

    if ($only_inner)

        $html = implode('<br>', $h);

    else

        $html = div(id('cmds-'.$order_id), implode('<br>', $h));



    return $html;

}

我希望我的actions_of_order函数返回如下所示的链接:

https://www.app.fattura24.com/api/v0.3/GetFile?apiKey=XXXXX&docId=YYYYYY

通过单击此管理员可以下载基于apiKey和docId作为参数的PDF文件。

关于获得此方法的任何建议? 谢谢

0 个答案:

没有答案