add_action( 'wc_pip_after_body', function( $type, $action, $document, $order ) {
// Require Woo Subscriptions
if( ! function_exists( 'wcs_order_contains_subscription' ) ) {
return;
}
// Require Subscription Order (Parent Or Renewal)
if( ! wcs_order_contains_subscription( $order, [ 'parent', 'renewal' ] ) ) {
return;
}
// Get Subscription Record
$subscriptions = wcs_get_subscriptions_for_order( $order->get_id() );
if( ! $subscriptions ) {
return;
}
// Get Recurring Total
foreach( $subscriptions as $subscription_id => $subscription ) {
// Skip One Time Subscriptions
if( $subscription->is_one_payment() ) { continue; }
// Get Subscription Details
$renewal_total += $subscription->get_total();
$renewal_date = $subscription->get_date( 'next_payment' );
if( ! $renewal_total || ! $renewal_date ) {
continue;
}
// Print
printf(
"
<h2>%s</h2>
<p>Renewal is scheduled to charge %s on %s.</p>
",
'Recurring Total',
wc_price( $renewal_total ),
date( 'm/d/Y', strtotime( $renewal_date ) )
);
}
}, 10, 4 );
Subscriptions show recurring totals on PIP invoices
Appends the WooCommerce Subscriptions recurring total onto all WooCommerce PIP (Print Invoice and Packing list) plugin documents.
How to use
PHP Code Snippets
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
