WC_Emails::order_meta()publicWC 1.0

Add order meta to email templates.

Method of the class: WC_Emails{}

Return

null. Nothing (null).

Usage

$WC_Emails = new WC_Emails();
$WC_Emails->order_meta( $order, $sent_to_admin, $plain_text );
$order(WC_Order) (required)
Order instance.
$sent_to_admin(true|false)
If should sent to admin.
Default: false
$plain_text(true|false)
If is plain text email.
Default: false

WC_Emails::order_meta() code WC 8.7.0

public function order_meta( $order, $sent_to_admin = false, $plain_text = false ) {
	$fields = apply_filters( 'woocommerce_email_order_meta_fields', array(), $sent_to_admin, $order );

	/**
	 * Deprecated woocommerce_email_order_meta_keys filter.
	 *
	 * @since 2.3.0
	 */
	$_fields = apply_filters( 'woocommerce_email_order_meta_keys', array(), $sent_to_admin );

	if ( $_fields ) {
		foreach ( $_fields as $key => $field ) {
			if ( is_numeric( $key ) ) {
				$key = $field;
			}

			$fields[ $key ] = array(
				'label' => wptexturize( $key ),
				'value' => wptexturize( $order->get_meta( $field ) ),
			);
		}
	}

	if ( $fields ) {

		if ( $plain_text ) {

			foreach ( $fields as $field ) {
				if ( isset( $field['label'] ) && isset( $field['value'] ) && $field['value'] ) {
					echo $field['label'] . ': ' . $field['value'] . "\n"; // WPCS: XSS ok.
				}
			}
		} else {

			foreach ( $fields as $field ) {
				if ( isset( $field['label'] ) && isset( $field['value'] ) && $field['value'] ) {
					echo '<p><strong>' . $field['label'] . ':</strong> ' . $field['value'] . '</p>'; // WPCS: XSS ok.
				}
			}
		}
	}
}