Add Delivery Date And Time To WooCommerce Print Invoices/Packing Lists By SkyVerge
To add the delivery date and time from WooCommere Delivery Slots to your invoices and packing slips generated by the “WooCommerce Print Invoices/Packing Lists” by SkyVerge, you can use the following code.
To use the code, add it to your child theme’s functions.php file.
/**
* Adds Delivery date and time slot to the "Shipping Method" section of invoices and packing lists
* 'Show shipping method' should be enabled for invoices!
*
* @param string $shipping the shipping method text
* @param string $document_type the type of document being viewed
* @param WC_Order $order the order object the document is for
*
* @return string the updated shipping string
*/
function iconic_pip_add_delivery_date_shipping( $shipping, $document_type, $order ) {
// if you want to only add this to invoices, you can add another check for document type
// if ( 'invoice' !== $document_type ) {
return $shipping;
}
// bail if Delivery Slots plugin is not active
if ( ! class_exists( 'Iconic_WDS' ) ) {
return $shipping;
}
$order_id = is_callable( array( $order, 'get_id' ) ) ? $order->get_id() : $order->id;
$date = get_post_meta( $order_id, '_jckwds_date', true );
$time_slot = get_post_meta( $order_id, '_jckwds_timeslot', true );
if ( $date ) {
$shipping .= '<p>';
$shipping .= sprintf( __( 'We will try our best to deliver your order on: %s', 'iconic' ), $date );
if ( $time_slot ) {
$shipping .= sprintf( ' %s %s', __( 'at', 'iconic' ), $time_slot );
}
$shipping .= '</p>';
}
return $shipping;
}
add_filter( 'wc_pip_document_shipping_method', 'iconic_pip_add_delivery_date_shipping', 10, 3 );You will now be able to see the delivery date and time slot on your invoices and packing slips.
