wp_staticize_emoji_for_email() WordPress Function
The wp_staticize_emoji_for_email() function is used to convert emoji characters in a string to their corresponding static image files. This is useful for email clients that do not support emoji characters.
wp_staticize_emoji_for_email( array $mail ) #
Converts emoji in emails into static images.
Parameters
(array)(Required)The email data array.
Return
(array) The email data array, with emoji in the message staticized.
Source
File: wp-includes/formatting.php
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 ( strpos( $header, ':' ) === false ) { 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 ( strpos( $content, ';' ) !== false ) { 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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.2.0 | Introduced. |