Action Hooks Reference – Woo Invoice

    Woo Invoice includes several actions & filter hooks where you can output order meta, product meta, or custom content. Below is the list of available action and filter hooks:


    Action Hooks


    Action Hooks Position Arguments
    woo_invoice_custom_styleAdd CSS Style to Invoice $template 
    (invoice or packing_slip)
    woo_invoice_before_documentThe header of the Invoice template $order, $template
    (invoice or packing_slip) 
    woo_invoice_after_documentFooter of the Invoice template $order, $template 
    (invoice or packing_slip) 
    woo_invoice_after_document_labelAfter Invoice Title at the header $order, $template 
    (invoice or packing_slip) 
    woo_invoice_before_billing_addressBefore Billing or Shipping Address $order, $template 
    (invoice or packing_slip) 
    woo_invoice_after_billing_addressAfter Billing or Shipping Address $order, $template 
    (invoice or packing_slip) 
    woo_invoice_before_order_dataBefore order details  $order, $template 
    (invoice or packing_slip) 
    woo_invoice_after_order_dataAfter order details $order, $template 
    (invoice or packing_slip) 
    woo_invoice_before_product_listBefore the product list table  $order, $template 
    (invoice or packing_slip) 
    woo_invoice_after_product_listAfter  the product list table $order, $template 
    (invoice or packing_slip) 
    woo_invoice_before_item_metaBefore Product info $product, $order, $template 
    (invoice or packing_slip) 
    woo_invoice_after_item_metaAfter Product info $product, $order, $template 
    (invoice or packing_slip) 
    woo_invoice_before_customer_notesBefore order note $order, $template 
    (invoice or packing_slip) 
    woo_invoice_after_customer_notes
    After order note $order, $template 
    (invoice or packing_slip) 

    Filter Hooks


    Filter Hooks Arguments
    woo_invoice_email_types      $email_types
    woo_invoice_mpdf_settings    $mdpf_settings
    woo_invoice_file_name        $filename, $template, $order_no
    woo_invoice_pdf_font_data  $font_data, $template
    woo_invoice_paper_size      $paper_size, $template
    woo_invoice_store_logo  $logo_url
    woo_invoice_seller_info $seller_address, $template
    woo_invoice_billing_info $buyer_address, $order, $template
    woo_invoice_shipping_info $shipping_address, $order, $template
    woo_invoice_order_data $order_info, $template, $order_object
    woo_invoice_order_number    $order_number, $template, $order_object
    woo_invoice_order_date    $order_date, $template, $order_object
    woo_invoice_invoice_number  $invoice_number, $template, $order_object
    woo_invoice_product_data $products, $template, $order_object
    woo_invoice_order_total$totals, $template, $order_object
    woo_invoice_paid_stamp    $paid_stamp_url
    woo_invoice_customer_notes   $customer_note, $template, $order_object
    woo_invoice_footer_1 $content, $template, $order_object
    woo_invoice_footer_2 $content, $template, $order_object

    Example 1: Add order meta to order details section

    add_action( 'woo_invoice_after_order_data', 'woo_invoice_delivery_date', 10, 2 );
    function woo_invoice_delivery_date ($order,$template_type) {
        if ($template_type == 'invoice') {
            // get the delivery date from the order
            $delivery_date = $order->get_meta('delivery_date');
            // convert date according to WooCommerce/WordPress date format settings)
            $formatted_delivery_date = date_i18n( wc_date_format(), $delivery_date );
            ?>
            <span>Delivery Date: <?php echo $formatted_delivery_date; ?></span>
    	<?php
        }
    }