WordPress禁用Emoji表情及本地化Emoji提高网站速度

 

对于普通的个人博客、网站应用WordPress程序其实已经足够使用,但是因为官方的维护和不断的完善,在添加和修正安全的同时,也会增加一些其他的升级元素。这就使得我们在使用WordPress的时候会发现即便程序是非常完美的,目前也没有其他多么优秀的CMS可以替代,唯独就是比较臃肿,甚至会加载一些外部的调用。

 

尤其使得我们国内的用户访问比较慢,比如在WordPress4.2版本之后,增加了Emoji表情外部调用,大部分用户是使用不到的,我们如果认为也没有必要,可以依据下面的方法之一去掉或者替换本地加载。

 

第一、检查是否有Emoji表情

 

 

如果我们查看源文件,可以看到上面的脚本,说明我们网站还是加载Emoji表情的,这里是调用外部文件的,我们要么选择禁用,要么选择文档本地化,这样可以提高速度。

 

第二、禁用Emoji表情脚本

 

禁用表情可以直接使用Disable Emojis插件,但是我们还是本着能少用插件就少用的原则,直接使用在当前主题的Functions.php文件中添加下面脚本禁用。

 

 代码如下 复制代码

     /**
* Disable the emoji's
*/
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );
/**
* Filter function used to remove the tinymce emoji plugin.
*/
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}

 

添加之后我们重新更新下博客的缓存就可以生效。

 

第三、Emoji表情本地化

 

或者,我们也可以采用imjeff的方法(www.imjeff.cn/blog/448/),将表情本地化,这样我们也可以使用表情(一般人是用不上的,如果你真用,那就本地化)

 

1、下载表情放到当前主题下

 

 代码如下 复制代码

下载地址:http://soft.laozuo.org/wordpress/72x72.zip

 

我们将表情文件夹放到当前主题目录下,文件夹名称不要变。

 

2、将下面脚本放到当前主题下的Functions.php文件中

 

 代码如下 复制代码

//首先补全wp的表情库
function smilies_reset() {
global $wpsmiliestrans, $wp_smiliessearch;
// don't bother setting up smilies if they are disabled
if (!get_option('use_smilies')) {
return;
}
$wpsmiliestrans_fixed = array(
':mrgreen:' => "\xf0\x9f\x98\xa2",
':smile:' => "\xf0\x9f\x98\xa3",
':roll:' => "\xf0\x9f\x98\xa4",
':sad:' => "\xf0\x9f\x98\xa6",
':arrow:' => "\xf0\x9f\x98\x83",
':-(' => "\xf0\x9f\x98\x82",
':-)' => "\xf0\x9f\x98\x81",
':(' => "\xf0\x9f\x98\xa7",
':)' => "\xf0\x9f\x98\xa8",
':?:' => "\xf0\x9f\x98\x84",
':!:' => "\xf0\x9f\x98\x85",
);
$wpsmiliestrans = array_merge($wpsmiliestrans, $wpsmiliestrans_fixed);
}
//替换cdn路径
function static_emoji_url() {
return get_bloginfo('template_directory').'/72x72/';
}
//让文章内容和评论支持 emoji 并禁用 emoji 加载的乱七八糟的脚本
function reset_emojis() {
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_styles', 'print_emoji_styles');
add_filter('the_content', 'wp_staticize_emoji');
add_filter('comment_text', 'wp_staticize_emoji',50); //在转换为表情后再转为静态图片
smilies_reset();
add_filter('emoji_url', 'static_emoji_url');
}
add_action('init', 'reset_emojis');
//输出表情
function fa_get_wpsmiliestrans(){
global $wpsmiliestrans;
$wpsmilies = array_unique($wpsmiliestrans);
foreach($wpsmilies as $alt => $src_path){
$emoji = str_replace(array('&#x', ';'), '', wp_encode_emoji($src_path));
$output .= '<a class="add-smily" data-smilies="'.$alt.'"><img class="wp-smiley" src="'.get_bloginfo('template_directory').'/72x72/'. $emoji .'png" /></a>';
}
return $output;
}

 

这样Emoji本地化就解决了。

时间: 2024-09-13 08:22:03

WordPress禁用Emoji表情及本地化Emoji提高网站速度的相关文章

细节决定成败之8个提高网站速度的方法

中介交易 SEO诊断 淘宝客 云主机 技术大厅 站长应该清楚的认识到并不是只有网站内容.外链建设才会影响网站权重的高低,一些小的方面同样值得重视,比如用户体验,再比如网站速度,就拿网站速度来说,如果一个网站几分钟都打不开,不仅会影响到网站的用户体验,也会极大地挫伤蜘蛛抓取网站的积极性,而且如果我们想要建立一个长远的网站,就必然在这上面多下点功夫. 一 多采用静态内容 SEO一个很重要的分支就是内容优化,图片以及FLASH的存在会让蜘蛛不容易抓取网站内容,只能通过Alt标签判断图片的属性以及内容.

asp.net 提高网站速度及如何利用缓存_实用技巧

输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了.而缓存API则提供了额外的灵活性(实际上是相当大的灵活性),可用于在应用程序的每一层利用缓存.本文全面介绍了这三种缓存技术在系统各层中的应用. 在ASP.NET提供的许多特性中,缓存支持无疑是我最欣赏的特性,我这样说当然是有充分理由的.相比ASP.NET的所有其他特性,缓存对应用程序的性能具有最大的潜在影响,利用缓存和其他机制,ASP.NET开发人员可以接受使用开销很大的控件(例如,DataGrid)构建站点时的额外

Android中如何显示Emoji表情字符

一.下载AndroidEmoji.ttf字体 地址1:Github Android Platform 地址2:AndroidEmoji.ttf.zip 二.使用 2.1将字体拷贝到assets/fonts目录 2.2代码调用 try { Typeface typeFace = Typeface.createFromAsset(getResources().getAssets(),"fonts/AndroidEmoji.ttf"); title.setTypeface(typeFace)

如何在Mac上打出emoji表情?

  如何在Mac上打出emoji表情?苹果的Emoji表情是第一个引入,也无疑是同类中最佳的.他的另一个优点还在于,根本不用借助任何工具软件,是系统自带的功能,支持文本编辑和网络应用,而且可以实现快速的输入,看到这里相信您会产生很大的兴趣.下面小编教大家在Mac快速输入emoji表情符号. 方法一:借助快捷键 这是最快速的方式,快捷键是Control+command+空格键,如下图所示,即可快速打开表情输入板,双击相关表情符号即可插入. 方法二:借助编辑菜单 第一步.这里以文本文档为例,需要输入

iOS中判断Emoji表情问题_IOS

先给大家说下问题描述 服务器端不支持Emoji表情,因此客户端在上传用户输入时,不能包含Emoji表情. 解决方案 在客户端发送请求前,判断用户输入中是否含有表情,如果含有表情,则提示用户重新输入.这个过程关键是如何判断字符串中是否含有Emoji表情.要判断是否含有Emoji表情,必须先了解什么是Emoji. Emoji 是一套起源于日本的12x12像素表情符号,由栗田穣崇(Shigetaka Kurit)创作,最早在日本网络及手机用户中流行,自苹果公司发布的iOS 5输入法中加入了emoji后

揭秘:Emoji表情的前世今生

摘要: 周一,Unicode 标准7.0版正式发布,新增了大约250个emoji表情,它们将取代更多的单词,进入我们的生活,让消息变得更有趣味.但是等等,到底是谁决定这些表情符号的?emoji表情的发布 周一,Unicode 标准7.0版正式发布,新增了大约250个emoji表情,它们将取代更多的单词,进入我们的生活,让消息变得更有趣味.但是等等,到底是谁决定这些表情符号的?emoji表情的发布是怎样一个过程? Emoji表情的创始人 Emoji表情是一种视觉上的速记符号,最初是在1999年由一

3种方法轻松处理php开发中emoji表情的问题_php技巧

背景 做微信开发的时候就会发现,存储微信昵称必不可少. 可这万恶的微信支持emoji表情做昵称,这就有点蛋疼了 一般Mysql表设计时,都是用UTF8字符集的.把带有emoji的昵称字段往里面insert一下就没了,整个字段变成了空字符串.这是怎么回事呢? 原来是因为Mysql的utf8字符集是3字节的,而emoji是4字节,这样整个昵称就无法存储了.这要怎么办呢?我来介绍几种方法 解决方案 1.使用utf8mb4字符集 如果你的mysql版本>=5.5.3,你大可直接将utf8直接升级为utf

使MySQL能够存储emoji表情字符的设置教程_Mysql

MySQL 需要支持 emoji 表情符号版本需要大于5.5.3,且字符集需要设置为utf8mb4 字符集. utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以能支持更多的字符集. 将Mysql的编码从utf8转换成utf8mb4. 需要 >= MySQL 5.5.3版本.从库也必须是5.5的了.低版本不支持这个字符集.复制报错 停止MySQL Server服务 修改 my.cnf或者mysql.ini

提高网站性能中内容有关的10条原则

英文地址:http://developer.yahoo.com/performance/rules.html Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心就是旨在提高网站性能. Excetional Performance团队总结出了一系列可以提高网站速度的方法.可以分为7大类34条.包括内容.服务器.cookie.CSS.JavaScript.