
您现在的位置是:首页 > WordPress教程WordPress教程
WordPressPWA渐进式应用
WP集市
2025-08-21
【WordPress教程】
559人已围观
哈喽,各位站长朋友!今天咱聊个实在的:怎么把你的WordPress博客/网站,变成一个能“装”到手机桌面、没网也能看的PWA?
先科普下,PWA就是“渐进式网页应用”,说白了——它长得像APP(能放桌面)、用着像APP(流畅不卡顿),但本质还是网页!不用用户去应用商店下载,浏览器里点一下“安装”就完事,关键是:加载速度起飞,离线还能看缓存内容。对WordPress这种“拿来就能用”的建站工具来说,搞PWA简直是降维打击——毕竟大部分站长不是专业程序员,咱要的就是“简单、有效、不折腾”。
第一步:选工具——插件还是自己写?
新手直接上插件!别慌,WordPress生态贼成熟,PWA插件一抓一大把。推荐俩:PWA for WordPress 和 Super Progressive Web Apps。
- PWA for WordPress:轻量!就干两件事——生成Service Worker(后面细说这是啥)和Manifest文件(告诉浏览器“我是个PWA”),适合小网站,不占资源。
- Super Progressive Web Apps:功能多!能自定义桌面图标、启动屏颜色,甚至能统计“安装次数”,适合想折腾细节的站长。
直接在后台“插件→安装插件”搜名字,启用后基本不用管——大部分插件会自动帮你搞定核心配置。但!如果你用的是老掉牙的主题(比如五年前那种“纯静态HTML拼的模板”),可能会有兼容性问题,别慌,手动调一下就行,后面教你。
第二步:核心中的核心——Service Worker是个啥?
插件虽好,但咱得知道它在干啥,对吧?PWA的灵魂是 Service Worker——你把它理解成“浏览器后台的小管家”就行:用户第一次访问网站,它偷偷把CSS、JS、图片这些“常用货”缓存到本地;第二次访问,直接从本地拿,加载速度“唰”一下就上去了;没网的时候,它就把缓存的内容丢给用户看(比如你之前发的爆款文章,用户没网也能翻)。
如果不想用插件,想自己动手?简单!就两步:注册Service Worker,写缓存规则。
先在主题的 functions.php
里加段代码,告诉WordPress“咱要加载Service Worker的注册脚本”:
// 注册Service Worker的启动脚本
function my_pwa_register_sw() {
if ( ! is_admin() ) { // 后台不加载,省资源
// 引入sw-register.js(自己创建的文件)
wp_enqueue_script(
'sw-register',
get_template_directory_uri() . '/sw-register.js',
array(),
'1.0',
true // 放到</body>前加载,不阻塞页面
);
}
}
add_action( 'wp_enqueue_scripts', 'my_pwa_register_sw' );
然后在主题文件夹里新建 sw-register.js
,写注册逻辑:
// 检查浏览器支不支持Service Worker(现在99%的浏览器都支持,放心)
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
// 注册sw.js(缓存规则写这里面)
navigator.serviceWorker.register('/sw.js')
.then(function() { console.log('Service Worker注册成功!'); })
.catch(function(err) { console.log('哎呀,注册失败了:', err); });
});
}
最后写 sw.js
(放网站根目录),定个简单的缓存规则——比如缓存所有CSS、JS和图片:
// 缓存名字,随便起,改了会触发重新缓存
const CACHE_NAME = 'my-wordpress-pwa-v1';
// 要缓存的文件类型
const ASSETS_TO_CACHE = [
'/', // 首页
'/*.css', // 所有CSS
'/*.js', // 所有JS
'/*.png', '/*.jpg', '/*.svg' // 图片
];
// 安装时缓存文件
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(ASSETS_TO_CACHE))
);
});
// 请求时优先用缓存,没缓存再联网
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(response => response || fetch(event.request))
);
});
这段代码啥意思?就是“浏览器加载页面后,Service Worker把CSS/JS/图片存起来,下次用户访问,先从缓存里掏,没有再去服务器拿”——速度能不快吗?
第三步:给PWA“穿件衣服”——Manifest文件
光有速度还不够,得让它“像个APP”。这时候需要 Manifest文件:一个JSON格式的配置文件,告诉浏览器“我叫啥名字、图标长啥样、启动屏啥颜色”。
插件会自动生成这个文件,但自己写也简单。在网站根目录新建 manifest.json
,内容大概这样:
{
"name": "老王的WordPress博客", // 全名(安装时显示)
"short_name": "老王博客", // 短名(桌面图标显示)
"start_url": "/", // 启动时打开的页面(一般是首页)
"display": "standalone", // 显示模式:standalone=像APP(没浏览器地址栏)
"background_color": "#ffffff", // 启动屏背景色
"theme_color": "#2c3e50", // 状态栏颜色(和你网站主色一致就行)
"icons": [ // 图标(不同尺寸,适配手机/平板)
{
"src": "icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
写完后,在主题的 header.php
里加一行,告诉浏览器“我有Manifest文件”:
<link rel="manifest" href="/manifest.json">
搞定!现在用户访问你的网站,浏览器地址栏会多出个“安装”按钮,点一下,网站就跑到手机桌面了——图标、名称都是你自定义的,这不比原生APP香?
最后一步:测试!不好用你回来打我
怎么知道成没成功?打开Chrome浏览器,按F12进“开发者工具”,切到 Application 标签:
- 看 Service Workers 面板:如果显示“Active”(绿色),说明注册成功;
- 看 Manifest 面板:点“Add to home screen”,能弹出安装提示,就没问题;
- 断网测试:关掉WiFi/数据,刷新页面,之前缓存的文章/图片能显示,齐活!
总结:WordPress搞PWA,真不难!
说白了,核心就俩东西:Service Worker管缓存(速度+离线),Manifest管“颜值”(桌面图标+启动屏)。新手用插件,3分钟搞定;想折腾的自己写几行代码,成就感拉满。
改完之后你会发现:网站加载速度快了(尤其移动端),用户能“装”到桌面(等于多了个入口),回头率蹭蹭涨——这波不亏!
行了,教程到这儿,赶紧去折腾你的WordPress吧!有问题评论区喊我,下班!
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
上一篇:WordPressRSS订阅设置
下一篇:WordPressAMP页面设置

热门文章
