这是一个最基本的主题源码(不适用于FSE站点开发),适用于开发海外Wordpress网站应用,可在此基础上编写下一步样式,开发功能等。
本主题主要是禁用了不必要的功能以提高网站安全性及性能,使用前请了解本主题做了什么。
下载地址:
https://10.1pxeye.com/libs/wp-themes/cm.7z
(压缩包中包含主题及.htaccess文件)
主要代码在主题里的inc文件夹中,解释如下:
const.php
- 标识当前环境是否为开发环境(
ENV_IS_DEV)。 - 定义站点主页 URL(
HOME)和主题目录 URL(TU),方便在代码中使用。 - 控制 REST API 的可用性(
REST_API_USABILITY)。 - 根据环境(开发或生产)动态设置是否允许编辑文件(
DISALLOW_FILE_EDIT)和修改文件(DISALLOW_FILE_MODS),以增强安全性。 
dev.php
- 检测当前环境是否为开发环境。
 - 在页面底部输出 JavaScript 代码,检查页面是否缺少重要的ogp元标签,meta description或google脚本。
 - 根据环境类型(开发或生产),在控制台中输出警告或错误信息。
 
disabled.php
- 禁用自动更新:
- 禁用核心、插件和主题的自动更新。
 
 - 移除 WordPress 版本生成器:
- 隐藏 WordPress 版本号。
 
 - 禁用管理员邮箱检查:
- 停止定期检查管理员邮箱。
 
 - 禁用应用密码功能:
- 禁用 WordPress 5.6 引入的应用密码功能。
 
 - 禁用 404 猜测重定向:
- 停止 WordPress 对 404 页面的猜测重定向。
 
 - 禁用站点地图:
- 禁用 WordPress 5.5 引入的站点地图功能。
 
 - 禁用登录页面语言选择:
- 移除登录页面的语言选择下拉框。
 
 - 清理 
<head>中的多余标签:- 移除 RSD、WLW Manifest、短链接、Feed 链接、REST API 链接、资源提示、Emoji 脚本等。
 
 - 禁用 XML-RPC:
- 完全禁用 XML-RPC 功能。
 
 - 移除评论功能:
- 移除后台评论菜单、文章和页面的评论支持、评论元框、仪表盘评论小工具。
 
 - 移除仪表盘小工具:
- 移除仪表盘中的多个默认小工具(如活动、快速发布、站点健康等)。
 
 - 禁用密码重置功能:
- 对非管理员用户禁用密码重置功能,并移除相关文本。
 
 - 禁用 Pingbacks:
- 移除 XML-RPC 中的 Pingback 相关方法。
 
 - 禁用 Gravatar 头像:
- 移除 Gravatar 头像功能。
 
 - 禁用 Dashicons 图标:
- 对非管理员用户禁用 Dashicons 图标加载。
 
 - 禁用 RSS 订阅功能:
- 完全禁用 RSS 订阅功能,并显示禁用提示。
 
 
disable-rest-api.php
- 定义 REST API 默认 IP 白名单:
- 默认允许 
127.0.0.1和::1(本地回环地址)访问 REST API。 
 - 默认允许 
 - 完全禁用 REST API:
- 如果 
REST_API_USABILITY常量为false,则完全禁用 REST API。 
 - 如果 
 - 禁用 REST API 用户枚举:
- 如果 
REST_API_USABILITY常量为true,则禁用 REST API 中的用户枚举功能。 
 - 如果 
 - REST API 访问控制:
- 检查用户是否已登录且为管理员。
 - 检查远程 IP 是否在白名单中。
 - 如果未登录且 IP 不在白名单中,则阻止访问特定 REST API 端点(如 
users、posts等)。 - 如果 REST API 被完全禁用,则返回 404 错误。
 
 - 返回错误响应:
- 如果访问被阻止,返回 404 错误或指定的 HTTP 错误码,并终止脚本执行。
 
 
enqueue.php
- 移除不必要的样式文件:
- 在首页、分类页和前端页面中,移除以下样式文件:
wp-block-library(Gutenberg 编辑器样式)wp-block-library-theme(Gutenberg 主题样式)wc-block-style(WooCommerce 块样式)global-styles(全局样式)classic-theme-styles(经典主题样式)
 
 - 在首页、分类页和前端页面中,移除以下样式文件:
 - 重新注册并加载自定义 jQuery:
- 如果不是后台页面,则移除默认的 jQuery,并加载主题目录下的自定义 jQuery 文件(
/assets/js/jquery.js)。 
 - 如果不是后台页面,则移除默认的 jQuery,并加载主题目录下的自定义 jQuery 文件(
 - 加载主题的主样式和脚本:
- 加载主题的主样式文件(
/assets/css/style.css),并使用crc32(date("YmdH"))生成版本号,确保每小时更新缓存。 - 加载主题的主脚本文件(
/assets/js/script.js),依赖 jQuery,并放置在页面底部加载。 
 - 加载主题的主样式文件(
 
optimize.php
- 优化归档页面标题显示。
 - 设置文章摘要长度并添加“阅读更多”链接。
 - 根据分类层级加载自定义模板。
 - 检查文章是否属于某个分类的子分类。
 - 清理上传文件的文件名。
 - 移除前端样式和脚本的冗余 
type属性。 
support.php
- 自动管理标题标签。
 - 启用文章缩略图功能。
 - 支持 HTML5 的画廊和图片标题
 
.htaccess文件代码解释:
设置默认字符集
- 使用 
AddDefaultCharset utf-8将默认字符集设置为 UTF-8,确保内容正确显示。 
定义 MIME 类型
- 使用 
mod_mime模块为特定文件类型(如.js、.mjs、.webmanifest、.json等)定义正确的 MIME 类型。 - 为特定文件类型(如 
.css、.js、.json等)添加 UTF-8 字符集。 
启用缓存控制
- 使用 
mod_expires模块为不同类型的文件设置缓存过期时间:- 默认缓存时间为 1 年。
 - 动态文件(如 HTML、XML、JSON)不缓存。
 - 图片、CSS、JavaScript 等静态资源缓存 1 年。
 - RSS、Atom 等文件缓存 1 小时。
 
 
增强安全性
- 使用 
<FilesMatch>禁止访问敏感文件(如xmlrpc.php、wp-comments-post.php、wp-config.php)。 - 使用 
mod_headers模块设置 HTTP 安全头:Strict-Transport-Security:强制使用 HTTPS,有效期 1 年。X-XSS-Protection:启用 XSS 保护。X-Content-Type-Options:禁止 MIME 类型嗅探。X-Frame-Options:防止页面被嵌入到其他站点的 iframe 中。Content-Security-Policy:限制资源加载来源。Referrer-Policy:控制 Referer 头的发送行为。Permissions-Policy:禁用麦克风和摄像头权限。
 
移除不必要的 HTTP 头
- 对于静态资源文件(如图片、CSS、JavaScript 等),移除不必要的 HTTP 头(如 
X-UA-Compatible、X-XSS-Protection、CSP 相关头)。 
启用压缩
- 使用 
mod_deflate模块对 HTML、CSS、JavaScript、JSON 等文件启用 Gzip 压缩。 - 使用 
mod_brotli模块对相同文件类型启用 Brotli 压缩(如果服务器支持)。 
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。