NuxareCore
WordPress 核心增强工具集 —— 站点加固、媒体文件夹、权限审计、SMTP、登录页与数据库清理,单插件覆盖核心增强全链路。
插件元数据
NuxareCore 是 Nuxare 外贸建站三件套的核心组件,为 WordPress 提供一站式安全加固、媒体管理、后台增强与权限审计能力,无外部依赖、无新增数据表。
nuxare_coreNuxare_Core_Bootstrap(单例)Nuxare_Core_,过程式辅助函数 + 类混合nuxare-core.php → Nuxare_Core_Bootstrap::instance()match、箭头函数)NUXARE_CORE_VERSION / NUXARE_CORE_DIR / NUXARE_CORE_URL / NUXARE_CORE_ASSETS_URL / NUXARE_CORE_PLUGIN_FILEnuxare_core_get_option($key, $default)、nuxare_core_str_contains()加载机制与架构模式
单例 Bootstrap 统一调度,模块按需加载,Tab Interface 统一设置入口。
① 单例 Bootstrap 入口
Nuxare_Core_Bootstrap::instance() 注册激活 / 停用 / 卸载钩子,在 plugins_loaded(优先级 1)执行 load_modules(),并全局注入设计令牌 CSS。
② 模块按需加载
常驻模块始终 require;条件模块由设置开关决定是否加载(登录页、悬浮联系栏、拖拽排序、文章复制器)。安全模块由 Security_Loader 统一组装。
③ Tab Interface 设置体系
Nuxare_Core_Tab_Interface(get_tab_id / get_tab_label / render / save)让各模块在「设置 → NuxareCore 核心增强」下挂载独立选项卡,设置项随功能开关可见但固定。
④ 惰性激活与遗留迁移
模块构造器自检功能开关,关闭即 early return;legacy-compat.php 一次性将 purecore_* 迁移为 nuxare_core_*,以 nuxare_core_legacy_migrated 标记完成。
请求 → nuxare-core.php 定义常量 → Bootstrap::instance() → 注册激活/卸载钩子 → plugins_loaded → load_modules() 顺序 require 各类文件 → 各模块构造函数挂载 WP 钩子 → 设置页通过 Tab Interface 聚合。
安全模块组装
Nuxare_Core_Security_Loader 统一加载 Security(基础:禁用 feed/XML-RPC、会话并发、生成器清理)、Security_Enhanced(私有登录路由、Turnstile、安全头、REST 控制)与 Form_Protection(登录爆破限制、蜜罐、提交频率、关键词黑名单、可信设备)。
媒体文件夹装配式架构
Nuxare_Core_Folder 作为装配入口,加载 includes/folder/ 下 10 个子模块(Schema / Config / Store / Access / State / Query / Ajax / UI / Transfer / Settings_Tab)。文件夹是「视图筛选器」而非文件系统,关闭仅隐藏 UI,不动文件。
模块清单
每文件一类,Bootstrap 负责加载实例化;条件模块标注其启用开关。
引导与基础设施
| 类 / 文件 | 职责 |
|---|---|
Nuxare_Core_Bootstrapclass-nuxare-core-bootstrap.php | 单例引导:加载模块、激活/停用/卸载、nuxare_core_settings 升级 |
Nuxare_Core_Error_Handlerclass-nuxare-core-error-handler.php | 共享 AJAX 守卫:nonce/capability 校验与 JSON 响应 |
Nuxare_Core_ThirdParty_Contracts | 第三方互操作契约表(主题构建器、能力、钩子探测) |
legacy-compat.phpnuxare_core_migrate_legacy_data() | purecore_* → nuxare_core_* 品牌与数据迁移 |
安全(Security_Loader 组装)
| 类 | 职责 |
|---|---|
Nuxare_Core_Security | 基础加固:禁用 feed/XML-RPC、并发会话、开发者工具拦截、generator/标签清理、登出重定向 |
Nuxare_Core_Security_Enhanced | 增强:私有登录路由、Turnstile 门控、登录错误隐藏、安全响应头、REST/user-info 控制 |
Nuxare_Core_Form_Protection | 表单保护:登录爆破限制、蜜罐、提交频率、关键词黑名单、邮箱验证、可信设备 |
Nuxare_Core_Login_Schedule | 定时登录阻断:时间段、星期、IP 白名单 |
Nuxare_Core_Geolocation | IP 地理定位(ip-api.com),transient 缓存 30 天,供审计日志调用 |
媒体与文件夹
| 类 | 职责 |
|---|---|
Nuxare_Core_Media | 统一媒体模块:上传限制、MIME 限制、WebP/SVG 缩略、批量重命名、标题/Alt 自动同步、媒体保护脚本 |
Nuxare_Core_Media_Replace | 隐藏式媒体替换页:按附件 ID 替换文件、更新引用、缓存击碎、重复检测 |
Nuxare_Core_Folder | 媒体文件夹入口:装配 includes/folder/ 下 10 子模块 |
Nuxare_Core_Post_List_Sidebar | 文章/产品/作品集列表侧栏:文件夹映射到分类法筛选 |
文件夹子模块(includes/folder/):Folder_Schema · Folder_Config · Folder_Store(数据访问与树操作)· Folder_Access(权限)· Folder_State(用户态)· Folder_Query(媒体库查询拦截)· Folder_Ajax · Folder_UI · Folder_Transfer(导入导出)· Folder_Settings_Tab。
后台增强
| 类 | 职责 |
|---|---|
Nuxare_Core_Admin_UI | 后台清理:工具栏、配色、帮助页签、像素追踪、自动 slug、作者筛选/列 |
Nuxare_Core_Cleanup | 前端清理:head meta、emoji、DNS prefetch、embed 脚本、访客 Dashicons/回复脚本、懒加载图 |
Nuxare_Core_Auto_Year | [ny] 短码输出当前年份 |
Nuxare_Core_Category_Summary | 后台列表分类摘要:描述摘要替代/扩展分类名展示 |
Nuxare_Core_Drag_Sort 开关 | 后台文章/产品列表拖拽排序,AJAX 保存顺序 |
Nuxare_Core_Post_Duplicator 开关 | 文章/页面/产品/作品集一键复制 |
权限 / 日志 / 邮件 / 展示 / 维护
| 类 | 职责 |
|---|---|
Nuxare_Core_Permissions | 权限系统:隐藏菜单、页面限制、角色管理、能力清理、角色导入导出 |
Nuxare_Core_Audit_Log | 审计日志:文章/媒体/主题/插件/资料更新、登录登出、IP 地理、CSV 导出、保留天数、空闲登出 |
Nuxare_Core_SMTP | SMTP 邮件:phpmailer_init 配置、测试邮件、调试日志 |
Nuxare_Core_Login_Page 开关 | 自定义登录页:背景、头像、按钮/表单配色、工具栏/页脚清理、语言切换器 |
Nuxare_Core_Floating_Contact 开关 | 悬浮联系栏:电话/邮箱、图标/自定义、按页面类型显示规则 |
Nuxare_Core_Social_Meta | 社交 Meta / JSON-LD 主模块 + Social_Meta_Settings_Tab |
Nuxare_Core_Database_Cleaner | 数据库清理定时任务:修订、transient、评论/回响、孤立 meta/媒体、表优化 |
接口与 Trait
| 名称 | 职责 |
|---|---|
Nuxare_Core_Tab_Interfaceinterface-nuxare-core-tab.php | 选项卡契约:get_tab_id() / get_tab_label() / render() / save() |
Nuxare_Core_Form_Helper (trait)trait-nuxare-core-form-helper.php | 表单行复用:toggle、text、password、textarea、select、radio/checkbox、repeater |
文件组织
一类一文件,媒体文件夹子模块独立成 folder/ 子目录;前端资源按页拆分。
十大功能分类
每项功能对应上述模块;条件功能默认关闭,需在设置页开启。
站点加固与安全
隐藏 WP 版本、屏蔽敏感文件、禁用文件编辑器、Turnstile CAPTCHA、私有登录路由、表单保护、登录邮箱验证。
媒体管理
媒体保护、批量重命名、WebP/SVG 支持、上传限制、自动标题/Alt 同步、媒体替换。
媒体文件夹
侧栏文件夹树、拖拽分类、嵌套层级、上传自动归类、右键菜单、导入/导出。
界面与后台增强
清理 Head 元、禁用 Emoji、懒加载、拖拽排序、文章复制器、后台 UI 清理。
权限与操作日志
菜单/访问控制、自定义角色、审计日志、CSV 导出、IP 地理位置。
SMTP 邮件
图形化 SMTP 配置、测试邮件、调试日志。
悬浮联系栏
自定义悬浮栏、双图标、位置选项、显示规则。
自定义登录页
自定义背景、自定义颜色、语言切换器、自定义头像。
数据库自动清理
清理修订版本、Transients、垃圾评论、孤立元数据。
社交 Meta 与 SEO
Open Graph、Twitter Card、JSON-LD 结构化数据、图像源策略。
七重安全机制层层防护、智能验证不干扰用户;媒体文件夹拖拽分类 + 10 级嵌套 + 上传自动归类;角色化后台精确控制 + 审计日志可追溯;SMTP / 登录页 / 悬浮栏开箱即用,无额外依赖。
扩展点参考
所有 AJAX 处理均含 nonce 校验;第三方通过下列钩子接入。
关键动作 / 过滤器
| 钩子 | 类型 | 说明 |
|---|---|---|
plugins_loaded(优先级 1) | action | Bootstrap 触发 load_modules() 加载全部模块 |
phpmailer_init | action | SMTP 模块配置 PHPMailer(主机/端口/认证/加密) |
nuxare_core_settings_tabs | filter | 注册自定义设置选项卡(实现 Tab_Interface) |
template_include | filter | 私有登录路由 / 登录页接管 |
wp_authenticate / authenticate | action | 登录时段阻断、表单保护、可信设备校验 |
pre_get_posts | action | 文件夹查询拦截、文章列表侧栏筛选 |
AJAX 端点(前缀 wp_ajax_nuxare_core_* / admin_post_*)
| 动作 | 所属模块 |
|---|---|
nuxare_core_save_settings | Settings(含 nonce 校验) |
nuxare_core_test_email | SMTP 测试邮件 |
nuxare_core_audit_export | 审计日志 CSV 导出 |
nuxare_core_folder_* | 文件夹:创建/重命名/删除/移动/树/排序 |
nuxare_core_media_replace | 媒体替换 |
nuxare_core_drag_sort_save | 拖拽排序保存 |
nuxare_core_role_import/export | 权限角色导入导出 |
所有 AJAX handler 必须经过 Nuxare_Core_Error_Handler 的 nonce + capability 校验后再处理;前端不得直接加载后端 JS/CSS;所有防护逻辑本地执行,无外部 API 请求。
命名规范
| 对象 | 规范 | 示例 |
|---|---|---|
| PHP 类 | 大驼峰 + 下划线分组 | Nuxare_Core_Form_Protection |
| 文件名 | 小写连字符 | class-nuxare-core-form-protection.php |
| 常量 | 全大写下划线 | NUXARE_CORE_VERSION |
| 选项 / option | 小写下划线 | nuxare_core_settings |
| 短码 | 小写 | [ny] |
| 脚本/样式句柄 | 小写连字符 | nuxare-core-admin |
| CSS 类(文件夹 UI) | 短前缀 | .nxcf-* |
| AJAX action | 小写下划线 | wp_ajax_nuxare_core_* |
遗留迁移:purecore_* → nuxare_core_*(一次性,标记位 nuxare_core_legacy_migrated)。
Option 键一览
无新增数据表,全部走 WP option / transient。
| Option 键 | 用途 |
|---|---|
nuxare_core_settings | 主设置(功能总开关 + 各项配置) |
nuxare_core_permissions_settings | 权限角色配置 |
nuxare_core_audit_log_settings | 审计日志设置(保留天数等) |
nuxare_core_media_settings | 媒体设置 |
nuxare_core_smtp_settings | SMTP 配置 |
nuxare_core_login_page_options | 登录页配置 |
nuxare_core_floating_contact_options | 悬浮联系栏配置 |
nuxare_core_form_protection_settings / ..._logs | 表单保护设置与日志 |
nuxare_core_social_* | 社交 Meta 配置:nuxare_core_social_enabled(总开关)、..._source_policy(图像源策略)、..._default_og_image、..._org_name 等 |
「启用或关闭 XXX 所有功能。关闭后,本模块下的所有设置均不生效。」设置项无论功能开关状态均保持固定可见;功能控制开关置于各自功能选项卡内。
新增模块三步
includes/ 新建 class-nuxare-core-xxx.php,类名 Nuxare_Core_Xxx,构造函数自检功能开关后挂载钩子。Bootstrap::load_modules() 按需 require(常驻)或由设置开关条件加载(参考登录页/悬浮栏模式)。Nuxare_Core_Tab_Interface,注册到 nuxare_core_settings_tabs,复用 Form_Helper trait 渲染表单行,save() 内校验 nonce 后写 option。资源按页拆分 JS、复用代码入共享文件;仅扫描必要目录避免积分消耗;默认值:操作日志保留 7 天、安全日志 500 条、可信设备有效期 60 天。