WC_Emails::additional_address_fields
Renders any additional address fields captured during block-based checkout.
Method of the class: WC_Emails{}
No Hooks.
Returns
null. Nothing (null).
Usage
$WC_Emails = new WC_Emails(); $WC_Emails->additional_address_fields( $address_type, $order, $sent_to_admin, $plain_text );
- $address_type(string) (required)
- Address type.
- $order(WC_Order) (required)
- Order instance.
- $sent_to_admin(true|false)
- If email is sent to admin.
Default:false - $plain_text(true|false)
- If this is a plain text email.
Default:false
WC_Emails::additional_address_fields() WC Emails::additional address fields code WC 10.5.0
public function additional_address_fields( $address_type, $order, $sent_to_admin = false, $plain_text = false ) {
if ( ! is_a( $order, 'WC_Order' ) ) {
return;
}
/**
* Service class managing checkout fields and its related extensibility points.
*
* @var CheckoutFields $checkout_fields
*/
$checkout_fields = Package::container()->get( CheckoutFields::class );
$fields = $checkout_fields->get_order_additional_fields_with_values( $order, 'address', $address_type, 'view' );
$context = array(
'caller' => 'WC_Email::additional_address_fields',
'address_type' => $address_type,
'order' => $order,
'sent_to_admin' => $sent_to_admin,
'plain_text' => $plain_text,
);
$fields = $checkout_fields->filter_fields_for_order_confirmation( $fields, $context );
if ( ! $fields ) {
return;
}
foreach ( $fields as $field ) {
if ( $plain_text ) {
printf( "%s: %s\n", wp_kses_post( $field['label'] ), wp_kses_post( $field['value'] ) );
} else {
printf( '<br><strong>%s</strong>: %s', wp_kses_post( $field['label'] ), wp_kses_post( $field['value'] ) );
}
}
}