Woo Style
/**
* Generate and attach invoice PDF on various order status changes.
*
* @param int $order_id The WooCommerce order ID.
*/
function cmx_handle_invoice_generation( $order_id ) {
if ( ! $order_id || ! is_numeric( $order_id ) ) {
return;
}
cmx_generate_and_attach_invoice_pdf( (int) $order_id );
}
add_action( 'woocommerce_order_status_completed', 'cmx_handle_invoice_generation' );
add_action( 'woocommerce_order_status_processing', 'cmx_handle_invoice_generation' );
add_action( 'woocommerce_order_status_pending', 'cmx_handle_invoice_generation' );
Woo Style mit Namespace
Reiny Style
add_action('woocommerce_order_status_completed', function ($order_id) { cmx_generate_and_attach_invoice_pdf($order_id); }); // Generate invoice PDF when order is completed
add_action('woocommerce_order_status_processing', function ($order_id) { cmx_generate_and_attach_invoice_pdf($order_id); }); // Generate invoice PDF when order is set to processing
add_action('woocommerce_order_status_pending', function ($order_id) { cmx_generate_and_attach_invoice_pdf($order_id); }); // Generate invoice PDF when order is set to pending payment
Reiny Style mit Namespace
add_action( 'woocommerce_order_status_completed', function ( $order_id ) {\CLOUDMeister\Rechnung\generate_and_attach_invoice_pdf( $order_id );} );
add_action( 'woocommerce_order_status_processing', function ( $order_id ) {\CLOUDMeister\Rechnung\generate_and_attach_invoice_pdf( $order_id );} );
add_action( 'woocommerce_order_status_pending', function ( $order_id ) {\CLOUDMeister\Rechnung\generate_and_attach_invoice_pdf( $order_id );} );