wordpress 加速主题的静态资源
wordpress 加速主题的静态资源(固定的CSS、JS和图片等)
wordpress 中用函数 get_stylesheet_directory_uri() 生成当前主题的 URL , 格式如 http://host/path/wp-content/themes/twentyseventeen
当前主题的静态的CSS、JS和图片等一般由当前主题指定相对路径, 一个完整的静态文件的 URL 是 get_stylesheet_directory_uri() + 这个相对路径
如果 wordpress 被假设在国外的服务器上,在国内访问还是比较慢的,如果能把这些静态文件放在国内的服务器上,网站速度就会有所提升。改变 get_stylesheet_directory_uri() 就可以实现这个目的。
这个函数在 wp-includes/theme.php 文件的 194 行左右,wordpress4.7
这是一个比较笨的办法,这样当从中国浏览 wordpress 时,静态文件从又拍云上加速,当从国外浏览时从原站加载静态文件
1. 替换该函数的 return 并加入下行
$ip_china = '/china-ip.json'; $cdn_china = '//yisuo.b0.upaiyun.com/wp-content/themes/'; $ip_remote = $_SERVER["REMOTE_ADDR"]; $path_themes = apply_filters( 'stylesheet_directory_uri', $stylesheet_dir_uri, $stylesheet, $theme_root_uri ); if(check_is_china_ip($ip_remote, $ip_china)) $path_themes = $cdn_china . $stylesheet; /** * Filters the stylesheet directory URI. * * @since 1.5.0 * * @param string $stylesheet_dir_uri Stylesheet directory URI. * @param string $stylesheet Name of the activated theme's directory. * @param string $theme_root_uri Themes root URI. */ return $path_themes;
2. 在 wp-includes/theme.php 文件的最后一行加入这个函数
# ****** 从json格式数据中检测IP是否来自中国 function check_is_china_ip($ip, $ipjson){ $ip_addr = explode('.', $ip); if(count($ip_addr) < 4) return false; $a1 = (int)$ip_addr[0]; $a2 = (int)$ip_addr[1]; $a3 = (int)$ip_addr[2]; $a4 = (int)$ip_addr[3]; $s_china = file_get_contents($ipjson); $tb_china = json_decode($s_china, 1); unset($s_china); if(!isset($tb_china[$a1][$a2]) || count($tb_china[$a1][$a2]) == 0) return false; $a = $a3 * 256 + $a4; foreach($tb_china[$a1][$a2] as $d){ if($a >= $d['s'] && $a <= $d['e']){ return true; } } return false; }
3. 文件修改完毕,相关的 IP 库放在网站的根目录下,解压后文件不到 400 KB
http://pan.baidu.com/s/1gfcfn95
wordpress 加速主题的静态资源的更多相关文章
- 国内站点经常使用的一些 CDN 静态资源公共库加速服务
web开发人员们的福利来了..旨在为大家提供更快很多其它更好的静态资源库的CDN载入库方案! CDN公共库是指将经常使用的JS库存放在CDN节点,以方便广大开发人员直接调用. 与将JS库存放在serv ...
- 如何对GitHubPages上的静态资源进行CDN加速
前记 从我开始学习前端我就一直在做着我的个人简历网站,使用GitHubpPages的预览功能进行预览,但是由于最近我的个人简历,不停的丰富,图片增多,而且将css和js文件用webpack打包后变成一 ...
- 使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源(二)
之前写过一篇 使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源,在那之后,又陆续想到并实施了几点利用 jsDelivr 进一步加速静态资源加载的措施,新起一篇作为记录和分享. ...
- springMVC下jsp引用外部js,css等静态资源的解决方法
直入主题. 1. web.xml对springMVC配置如下: <servlet> <description>Spring MVC配置</description> ...
- 20款时尚的 WordPress 简洁主题【免费下载】
在这篇文章中,我们收集了20款时尚的 WordPress 简洁模板.WordPress 是最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单易 ...
- 唯美!分享8款响应式的 WordPress 餐厅主题
您是否拥有一个餐厅,酒吧,咖啡馆,小酒馆,比萨饼店?如果答案是肯定的,请确保您在网上也提供服务.为了使您的工作更轻松,我们选择了一些新的和独特的餐厅主题,覆盖了范围很广的食品企业.这些主题提供了很多很 ...
- tomcat缓存静态资源深入
之前看过apach及nginx对于静态资源(含js,图片,css等)部分的缓存,用于加速并减轻后台实际web服务器的压力. 静态资源缓存是WEB服务器优化的一种手段,基本原理如下: 1.客户端浏览器请 ...
- vue打包静态资源路径不正确的解决办法【转】
vue项目完成打包上线的时候很多人都会碰到静态资源找不到的问题,常见的有两个 1.js,css路径不对 解决办法:打开config/index.js,将其中的assetsPublicPath值改为’. ...
- 静态资源(StaticResource)和动态资源(DynamicResource)
静态资源(StaticResource)和动态资源(DynamicResource) 资源可以作为静态资源或动态资源进行引用.这是通过使用 StaticResource 标记扩展或 DynamicRe ...
随机推荐
- 三种记录 MySQL 所执行过的 SQL 语句的方法
程式 Debug 有時後從前面第一行追起來很辛苦(程式碼太多或 compile 過), 另一種做法就是從後面追起來, 反正最後寫入的是 DB, 那就從 DB 開始往前推, 所以就是要抓程式是執行哪些 ...
- 第二十四天 框架之痛-Spring MVC(四)
6月3日,晴."绿树浓阴夏日长. 楼台倒影入池塘. 水晶帘动微风起, 满架蔷薇一院香". 以用户注冊过程为例.我们可能会选择继承AbstractController来实现表单的显示 ...
- css3中rem和em是干嘛的
css3中rem和em是干嘛的 一.总结 一句话总结:对rem综合评价是用来做web app它绝对是最合适的人选之一. 这里我特别强调web app,web page就不能使用rem吗,其实也当然可以 ...
- BZOJ 3196 线段树套平衡树
(代码无比丑陋) //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; int ...
- 2015合肥网络赛 HDU 5492 Find a path 动归
HDU 5492 Find a path 题意:给你一个矩阵求一个路径使得 最小. 思路: 方法一:数据特别小,直接枚举权值和(n + m - 1) * aver,更新答案. 方法二:用f[i][j] ...
- 分享一个正则 选择html中所有的单标签
var str = /\B<.+?>/g;
- js 判断对touch事件支持
$.support = (function() { var support = { touch: !!(('ontouchstart' in window) || window.DocumentTou ...
- OpenSUSE Leap 42.3下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法
远程虚拟控制台依赖于java运行环境(jre),在通过浏览器打开链接前,系统必须安装jre环境,远程管理控制台其实就是一个java程序,打开相应的网站会下载一个jnlp(java网络加载协议)的文件, ...
- oracle 正序 逆序 排序查询
正序:从小到大 order by t.id asc 逆序:从大到小 order by t.id desc
- javaweb:判断当前请求是否为移动设备访问
http://blog.csdn.net/educast/article/details/71157932