WordPress 大陆优化

虽然说很多人觉得 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');

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注