Для wc_pip_after_body
хука нет аргумента $order_id
, но доступны следующие аргументы: $type
, $action
, $document
и $order
.
Таким образом, вы можете использовать его таким образом в своем коде (при условии, что public_details_new
пользовательское поле закрывается) :
add_action('wc_pip_after_body', 'dvsi_invoice_footer', 90, 4 );
function dvsi_invoice_footer ( $type, $action, $document, $order ) {
echo '<h4>'.__('Name: ').'</strong> ' . $order->get_billing_first_name() . '</h4>';
echo '<h4>'.__('Note: ').'</strong> ' . $order->get_meta( 'public_details_new' ) . '</h4>';
echo '<h4 style="margin-bottom:0px;">'.__('Important: ').'</h4>
<p>'.__('If you have purchased Domain, Hosting, SSL certificate or any other service that has an Expiry date then please contact us 10 days before prior to the Expiry date so we can renew or repurchase it on time.').'<p>';
echo '<h4 style="margin-bottom:0px;">'.__('Contact Details: ').'</h4>
<p><strong>Office: </strong>'.__('AL-Hafeez Heights Gulberg III, Lahore').'<p>
<p><strong>Mobile: </strong>'.__('0323-4152099').'<p>
<p><strong>Email: </strong>'.__('contact@devsol.pk').'<p>';
}
Это должно работать лучше.
Примечание: Как сказал @helgatheviking WC_Order
Свойства объекта более недоступны со времен Woocommerce 3, и вам нужно использовать соответствующие доступные методы .