对于普通的个人博客、网站应用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、下载表情放到当前主题下
下载地址:https://soft.laozuo.org/wordpress/72×72.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\\’).\\’/72×72/\\’;
}
//让文章内容和评论支持 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\\’).\\’/72×72/\\’. $emoji .\\’png\\” /></a>\\’;
}
return $output;
}
这样Emoji本地化就解决了。
总结,蜗牛个人建议还是禁用掉算了,一般也没多大用途。
评论前必须登录!
立即登录 注册