wpseek.com
				A WordPress-centric search engine for devs and theme authors
			wp_staticize_emoji_for_email › WordPress Function
Since4.2.0
Deprecatedn/a
› wp_staticize_emoji_for_email ( $mail )
| Parameters: | 
 | 
| Returns: | 
 | 
| Defined at: | 
 | 
| Codex: | 
Converts emoji in emails into static images.
Related Functions: wp_staticize_emoji, sanitize_email, wp_is_auto_update_forced_for_item, wp_ajax_time_format, sanitize_term_field
	Source
function wp_staticize_emoji_for_email( $mail ) {
	if ( ! isset( $mail['message'] ) ) {
		return $mail;
	}
	/*
	 * We can only transform the emoji into images if it's a `text/html` email.
	 * To do that, here's a cut down version of the same process that happens
	 * in wp_mail() - get the `Content-Type` from the headers, if there is one,
	 * then pass it through the {@see 'wp_mail_content_type'} filter, in case
	 * a plugin is handling changing the `Content-Type`.
	 */
	$headers = array();
	if ( isset( $mail['headers'] ) ) {
		if ( is_array( $mail['headers'] ) ) {
			$headers = $mail['headers'];
		} else {
			$headers = explode( "\n", str_replace( "\r\n", "\n", $mail['headers'] ) );
		}
	}
	foreach ( $headers as $header ) {
		if ( ! str_contains( $header, ':' ) ) {
			continue;
		}
		// Explode them out.
		list( $name, $content ) = explode( ':', trim( $header ), 2 );
		// Cleanup crew.
		$name    = trim( $name );
		$content = trim( $content );
		if ( 'content-type' === strtolower( $name ) ) {
			if ( str_contains( $content, ';' ) ) {
				list( $type, $charset ) = explode( ';', $content );
				$content_type           = trim( $type );
			} else {
				$content_type = trim( $content );
			}
			break;
		}
	}
	// Set Content-Type if we don't have a content-type from the input headers.
	if ( ! isset( $content_type ) ) {
		$content_type = 'text/plain';
	}
	/** This filter is documented in wp-includes/pluggable.php */
	$content_type = apply_filters( 'wp_mail_content_type', $content_type );
	if ( 'text/html' === $content_type ) {
		$mail['message'] = wp_staticize_emoji( $mail['message'] );
	}
	return $mail;
}