php打印订单,WooCommerce: 打印订单

WooCommerce的订单页面内容繁多,如果直接打印后台页面,想必是惨不忍睹,还好有一款免费插件可以解决这个问题——WooCommerce Print Invoices & Delivery Notes,这个插件的好处是通过修改模版,你可以打印订单中的任何内容,漂亮的打印出来。

关于该插件的使用不再赘述,本文介绍如何修改打印模版,加入自己需要的数据。比如,加入产品缩略图和产品分类,效果如下图所示

de1cc06fbfd801d5342a1c8aca12c450.png

首先,获取缩略图和产品分类数据

在主题的functions.php中加入如下代码add_filter( 'wcdn_order_item_data', 'wcdn_print_image' );

function wcdn_print_image( $data ){

//get image

$img_id = get_post_thumbnail_id( $data['product_id'] );

$img_url = wp_get_attachment_image_src($img_id);

$img_url = $img_url[0];

$data['image'] = $img_url;

//get category

$terms = get_the_terms( $data['product_id'], 'product_cat' );

foreach ($terms as $term) {

$data['category'][] = $term->name . ': ' . $term->description;

}

return $data;

}

修改打印模版

将woocommerce-delivery-notes/templates/print/print-delivery-note.php复制到主题目录/woocommerce/print/下,打开该文件修改。

是订单列表的开始,首先把表头修改一下,加入了我需要的Category<?php _e('Product', 'woocommerce-delivery-notes'); ?><?php _e('Category', 'woocommerce-delivery-notes'); ?><?php _e('Quantity', 'woocommerce-delivery-notes'); ?><?php _e('Totals', 'woocommerce-delivery-notes'); ?>

然后修改表单内容,刚刚在主题funcitons.php中已经将额外的数据传过来,这些数据由下面这个函数获取$items = wcdn_get_order_items();

接下来要做的就是调用这些数据<?php $items = wcdn_get_order_items(); if( sizeof( $items ) > 0 ) : foreach( $items as $item ) : ?>

<?php echo $item['name']; ?>
<?php _e( 'SKU:', 'woocommerce-delivery-notes' ); ?>
<?php echo $item['sku']; ?>
<?php _e( 'Weight:', 'woocommerce-delivery-notes' ); ?>
<?php echo $item['weight']; ?><?php echo get_option('woocommerce_weight_unit'); ?>
<?php echo $item['quantity']; ?><?php echo $item['price']; ?><?php endforeach; endif; ?>

模版文件下载:[download id=53]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值