
WordPress钩子详解:如何使用动作、过滤器和自定义钩子
translate_smiley ( $matches )
translate_smiley: 这个函数将一个文本表情符号替换成其对应的图片。它用于在文章和评论中显示表情符号。
将一个笑脸代码转换为等效的图标图形文件。
convert_smilies()的回调处理程序。
在$wpsmiliestrans全局数组中查找一个笑脸代码并返回该笑脸的 `<img/>
` 字符串。
function translate_smiley( $matches ) { global $wpsmiliestrans; if ( count( $matches ) == 0 ) { return ''; } $smiley = trim( reset( $matches ) ); $img = $wpsmiliestrans[ $smiley ]; $matches = array(); $ext = preg_match( '/.([^.]+)$/', $img, $matches ) ? strtolower( $matches[1] ) : false; $image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'webp' ); // Don't convert smilies that aren't images - they're probably emoji. if ( ! in_array( $ext, $image_exts, true ) ) { return $img; } /** * Filters the Smiley image URL before it's used in the image element. * * @since 2.9.0 * * @param string $smiley_url URL for the smiley image. * @param string $img Filename for the smiley image. * @param string $site_url Site URL, as returned by site_url(). */ $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() ); return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) ); }