我是woocommerce的新手,我的客户要求是插件“PDF发票”也应该在生成的PDF文件中显示产品说明。
这是我的代码。
/**
* Add SKU to PDF order heading
*/
add_filter ( 'pdf_template_table_headings' , 'custom_pdf_table_headers' );
function custom_pdf_table_headers() {
$headers = '<table class="shop_table orderdetails" width="100%">' .
'<thead>' .
'<tr><th colspan="7" align="left"><h2>' . esc_html__('Order Details', PDFLANGUAGE) . '</h2></th></tr>' .
'<tr>' .
'<th width="5%" valign="top" align="right">' . __( 'Qty', PDFLANGUAGE ) . '</th>' .
'<th width="30%" valign="top" align="left">' . __( 'Product', PDFLANGUAGE ) . '</th>' .
'<th width="20%" valign="top" align="right">' . __( 'Description', PDFLANGUAGE ) . '</th>' .
'<th width="9%" valign="top" align="right">' . __( 'Price Ex', PDFLANGUAGE ) . '</th>' .
'<th width="9%" valign="top" align="right">' . __( 'Total Ex.', PDFLANGUAGE ) . '</th>' .
'<th width="7%" valign="top" align="right">' . __( 'Tax', PDFLANGUAGE ) . '</th>' .
'<th width="10%" valign="top" align="right">' . __( 'Price Inc', PDFLANGUAGE ) . '</th>' .
'<th width="10%" valign="top" align="right">' . __( 'Total Inc', PDFLANGUAGE ) . '</th>' .
'</tr>' .
'</thead>' .
'</table>';
return $headers;
}
/**
* Add SKU to order line
*/
add_filter ( 'pdf_template_line_output' , 'custom_pdf_lines', 10, 2 );
function custom_pdf_lines ( $line, $order_id ) {
global $woocommerce;
$order = new WC_Order( $order_id );
$pdflines = '<table width="100%">';
$pdflines .= '<tbody>';
if ( sizeof( $order->get_items() ) > 0 ) :
foreach ( $order->get_items() as $item ) {
if ( $item['qty'] ) :
$line = '';
$item_loop++;
$_product = $order->get_product_from_item( $item );
$item_name = $item['name'];
$item_meta = new WC_Order_Item_Meta( $item['item_meta'] );
if ( $meta = $item_meta->display( true, true ) )
$item_name .= ' ( ' . $meta . ' )';
$line = '<tr>' .
'<td valign="top" width="5%" align="right">' . $item['qty'] . ' x</td>' .
'<td valign="top" width="40%">' . $item_name . '</td>' .
'<td valign="top" width="10%">' . $_product->get_sku() . '</td>' .
'<td valign="top" width="9%" align="right">' . woocommerce_price( $item['line_subtotal'] ) . '</td>' .
'<td valign="top" width="9%" align="right">' . woocommerce_price( $item['qty']*$item['line_subtotal'] ) . '</td>' .
'<td valign="top" width="7%" align="right">' . woocommerce_price( $item['line_tax'] ) . '</td>' .
'<td valign="top" width="10%" align="right">' . woocommerce_price( $item['line_subtotal'] + $item['line_tax'] ) . '</td>' .
'<td valign="top" width="10%" align="right">' . woocommerce_price( $item['qty']*($item['line_subtotal'] + $item['line_tax']) ) . '</td>' .
'</tr>' ;
$pdflines .= $line;
endif;
}
endif;
$pdflines .= '</tbody>';
$pdflines .= '</table>';
return $pdflines;
}
我想在PDF中添加说明细节。我应该通过哪个变量?