虽然说很多人觉得 WordPress 很臃肿,很复杂,但我还是认为 WordPress 上手是最简单的,也不需要知道很多专业的技术,只要善于使用搜索引擎,基本上能解决遇到的绝大多书问题。
我的博客自 2009 年开始就一直使用 WordPress ,期间尝试过很多其他博客系统,但没有一个能像 WordPress 这样有生命力,可简可繁,适用性极强。
特别是这几年刚推出的 Gutenberg 古腾堡编辑器,一开始我其实也是很抵触的,但是当我花了几个小时的使用上手后,让我有种五体投地的感觉。这 TM 才是真正的所见即所得的编辑器。块的概念,布局的引入,让完全不懂代码的人也能轻松编辑出一个丰富的页面。
但,对于国内用户来说,WordPress 某些前端资源还是有些众所周知的不符合“国情”。
于是,我分享出来一些我自己的“大陆优化”,希望可以帮助到你。
使用方法
只需将以下代码置入主题的模版函数functions.php
即可,根据你的具体情况有几种推荐方式。
插件形式
- 使用 theme-customisations 插件,然后编辑插件中的
funtions.php
文件。 - 此插件不需要更新,除非 WordPress 大版本更新后不兼容此插件,否则就一只有效,且不管你更换了什么主题,你的修改都会生效。
主题形式
- 添加到当前主题的
functions.php
中。 - 如果主题更新了会被覆盖掉,所以你得重新修改。
- 所以如果你使用的是别人的主题,建议你使用 Child Theme 的形式来 hack。
优化代码
// 替换 Gravatar 头像资源为七牛云 CDN
function change_gravatar_url($avatar) {
$avatar = str_replace(array("www.gravatar.com","cn.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com", "secure.gravatar.com"), "dn-qiniu-avatar.qbox.me", $avatar);
return $avatar;
}
add_filter('get_avatar', 'change_gravatar_url');
// 替换 Emoji 资源为 Staticfile CDN
function change_wp_emoji_baseurl($url) {
return set_url_scheme('//cdn.staticfile.org/twemoji/14.0.2/72x72/');
}
add_filter('emoji_url', 'change_wp_emoji_baseurl');
function change_wp_emoji_svgurl($url) {
return set_url_scheme('//cdn.staticfile.org/twemoji/14.0.2/svg/');
}
add_filter('emoji_svg_url', 'change_wp_emoji_svgurl');
// 取消图片被缩小至 2560 像素的限制
add_filter( 'big_image_size_threshold', '__return_false' );
重要说明
- 本人目前习惯性使用境外服务器来搭建,故暂时没遇到需要解决境内服务器搭建所带来的问题。
- 本文仅罗列个人使用 WordPress 遇到需要优化的地方,将根据后续日常使用随缘更新。
- 尽量保持 WordPress 官方原汁原味,仅把某些不可抗力因素替换为大陆能使用的服务,以便给大陆流浪者提供更好的体验。
- 谷歌 Web 字体
fonts.googleapis.com
在国内 CDN ,所以不需要处理。
历史优化封存
jsDeliver 已经没有大陆节点,彻底被巴比Q了。
// 替换 Emoji PNG 资源为 jsDeliver CDN
function change_wp_emoji_baseurl($url) {
return set_url_scheme('//cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/72x72/');
}
add_filter('emoji_url', 'change_wp_emoji_baseurl');
function change_wp_emoji_svgurl($url) {
return set_url_scheme('//cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/');
}
add_filter('emoji_svg_url', 'change_wp_emoji_svgurl');
发表回复