WordPress 插件 · 开发文档

NuxareCore

WordPress 核心增强工具集 —— 站点加固、媒体文件夹、权限审计、SMTP、登录页与数据库清理,单插件覆盖核心增强全链路。

版本 v1.2.5 主类 Nuxare_Core_Bootstrap 许可 专有 日期 2026-08-31
01 · 概览

插件元数据

NuxareCore 是 Nuxare 外贸建站三件套的核心组件,为 WordPress 提供一站式安全加固、媒体管理、后台增强与权限审计能力,无外部依赖、无新增数据表。

插件名
NuxareCore
版本
1.2.5
文本域
nuxare_core
主类
Nuxare_Core_Bootstrap(单例)
命名空间
无显式 namespace —— 类名前缀 Nuxare_Core_,过程式辅助函数 + 类混合
入口
nuxare-core.phpNuxare_Core_Bootstrap::instance()
Requires WP
5.9+
Requires PHP
8.0+(使用 match、箭头函数)
数据存储
WP option / transient,不新建数据表
常量
NUXARE_CORE_VERSION / NUXARE_CORE_DIR / NUXARE_CORE_URL / NUXARE_CORE_ASSETS_URL / NUXARE_CORE_PLUGIN_FILE
辅助函数
nuxare_core_get_option($key, $default)nuxare_core_str_contains()
30+
类 / 模块
10
功能分类
1
单例引导
0
新增数据表
02 · 架构

加载机制与架构模式

单例 Bootstrap 统一调度,模块按需加载,Tab Interface 统一设置入口。

① 单例 Bootstrap 入口

Nuxare_Core_Bootstrap::instance() 注册激活 / 停用 / 卸载钩子,在 plugins_loaded(优先级 1)执行 load_modules(),并全局注入设计令牌 CSS。

② 模块按需加载

常驻模块始终 require;条件模块由设置开关决定是否加载(登录页、悬浮联系栏、拖拽排序、文章复制器)。安全模块由 Security_Loader 统一组装。

③ Tab Interface 设置体系

Nuxare_Core_Tab_Interfaceget_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_loadedload_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,不动文件。

03 · 模块参考

模块清单

每文件一类,Bootstrap 负责加载实例化;条件模块标注其启用开关。

引导与基础设施

类 / 文件职责
Nuxare_Core_Bootstrap
class-nuxare-core-bootstrap.php
单例引导:加载模块、激活/停用/卸载、nuxare_core_settings 升级
Nuxare_Core_Error_Handler
class-nuxare-core-error-handler.php
共享 AJAX 守卫:nonce/capability 校验与 JSON 响应
Nuxare_Core_ThirdParty_Contracts第三方互操作契约表(主题构建器、能力、钩子探测)
legacy-compat.php
nuxare_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_GeolocationIP 地理定位(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_SMTPSMTP 邮件: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_Interface
interface-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
04 · 目录结构

文件组织

一类一文件,媒体文件夹子模块独立成 folder/ 子目录;前端资源按页拆分。

nuxare-core/ ├── nuxare-core.php # 主入口:常量 + Bootstrap::instance() ├── uninstall.php # 卸载处理(默认不删数据) ├── includes/ │ ├── class-nuxare-core-bootstrap.php │ ├── class-nuxare-core-settings.php │ ├── class-nuxare-core-error-handler.php │ ├── class-nuxare-core-geolocation.php │ ├── class-nuxare-core-security-loader.php │ ├── class-nuxare-core-security.php │ ├── class-nuxare-core-security-enhanced.php │ ├── class-nuxare-core-form-protection.php │ ├── class-nuxare-core-login-schedule.php │ ├── class-nuxare-core-permissions.php │ ├── class-nuxare-core-audit-log.php │ ├── class-nuxare-core-cleanup.php │ ├── class-nuxare-core-database-cleaner.php │ ├── class-nuxare-core-admin-ui.php │ ├── class-nuxare-core-auto-year.php │ ├── class-nuxare-core-category-summary.php │ ├── class-nuxare-core-login-page.php │ ├── class-nuxare-core-floating-contact.php │ ├── class-nuxare-core-smtp.php │ ├── class-nuxare-core-media.php │ ├── class-nuxare-core-media-replace.php │ ├── class-nuxare-core-folder.php │ ├── class-nuxare-core-post-list-sidebar.php │ ├── class-nuxare-core-post-duplicator.php │ ├── class-nuxare-core-drag-sort.php │ ├── class-nuxare-core-social-meta.php │ ├── class-nuxare-core-social-meta-settings-tab.php │ ├── class-nuxare-core-thirdparty-contracts.php │ ├── legacy-compat.php │ ├── interface-nuxare-core-tab.php │ ├── trait-nuxare-core-form-helper.php │ └── folder/ # 媒体文件夹 10 子模块 │ ├── class-nuxare-core-folder-schema.php │ ├── class-nuxare-core-folder-config.php │ ├── class-nuxare-core-folder-store.php │ ├── class-nuxare-core-folder-access.php │ ├── class-nuxare-core-folder-state.php │ ├── class-nuxare-core-folder-query.php │ ├── class-nuxare-core-folder-ajax.php │ ├── class-nuxare-core-folder-ui.php │ ├── class-nuxare-core-folder-transfer.php │ └── class-nuxare-core-folder-settings-tab.php ├── assets/ │ ├── css/ # design-tokens / admin-settings / folder-sidebar / login-page … │ └── js/ # admin-settings / folder-sidebar / drag-sort / login-page … ├── tools/phase6_similarity_scan.py └── docs/ # folder-module-spec / clean-room-* / phase6 报告
05 · 功能矩阵

十大功能分类

每项功能对应上述模块;条件功能默认关闭,需在设置页开启。

7 项

站点加固与安全

隐藏 WP 版本、屏蔽敏感文件、禁用文件编辑器、Turnstile CAPTCHA、私有登录路由、表单保护、登录邮箱验证。

7 项

媒体管理

媒体保护、批量重命名、WebP/SVG 支持、上传限制、自动标题/Alt 同步、媒体替换。

6 项

媒体文件夹

侧栏文件夹树、拖拽分类、嵌套层级、上传自动归类、右键菜单、导入/导出。

6 项

界面与后台增强

清理 Head 元、禁用 Emoji、懒加载、拖拽排序、文章复制器、后台 UI 清理。

5 项

权限与操作日志

菜单/访问控制、自定义角色、审计日志、CSV 导出、IP 地理位置。

3 项

SMTP 邮件

图形化 SMTP 配置、测试邮件、调试日志。

4 项

悬浮联系栏

自定义悬浮栏、双图标、位置选项、显示规则。

4 项

自定义登录页

自定义背景、自定义颜色、语言切换器、自定义头像。

4 项

数据库自动清理

清理修订版本、Transients、垃圾评论、孤立元数据。

4 项

社交 Meta 与 SEO

Open Graph、Twitter Card、JSON-LD 结构化数据、图像源策略。

核心优势

七重安全机制层层防护、智能验证不干扰用户;媒体文件夹拖拽分类 + 10 级嵌套 + 上传自动归类;角色化后台精确控制 + 审计日志可追溯;SMTP / 登录页 / 悬浮栏开箱即用,无额外依赖。

06 · 钩子与 AJAX

扩展点参考

所有 AJAX 处理均含 nonce 校验;第三方通过下列钩子接入。

关键动作 / 过滤器

钩子类型说明
plugins_loaded(优先级 1)actionBootstrap 触发 load_modules() 加载全部模块
phpmailer_initactionSMTP 模块配置 PHPMailer(主机/端口/认证/加密)
nuxare_core_settings_tabsfilter注册自定义设置选项卡(实现 Tab_Interface)
template_includefilter私有登录路由 / 登录页接管
wp_authenticate / authenticateaction登录时段阻断、表单保护、可信设备校验
pre_get_postsaction文件夹查询拦截、文章列表侧栏筛选

AJAX 端点(前缀 wp_ajax_nuxare_core_* / admin_post_*

动作所属模块
nuxare_core_save_settingsSettings(含 nonce 校验)
nuxare_core_test_emailSMTP 测试邮件
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 请求。

07 · 命名约定

命名规范

对象规范示例
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)。

08 · 设置与存储

Option 键一览

无新增数据表,全部走 WP option / transient。

Option 键用途
nuxare_core_settings主设置(功能总开关 + 各项配置)
nuxare_core_permissions_settings权限角色配置
nuxare_core_audit_log_settings审计日志设置(保留天数等)
nuxare_core_media_settings媒体设置
nuxare_core_smtp_settingsSMTP 配置
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 所有功能。关闭后,本模块下的所有设置均不生效。」设置项无论功能开关状态均保持固定可见;功能控制开关置于各自功能选项卡内。

09 · 扩展指南

新增模块三步

1
建类文件:在 includes/ 新建 class-nuxare-core-xxx.php,类名 Nuxare_Core_Xxx,构造函数自检功能开关后挂载钩子。
2
注册加载:在 Bootstrap::load_modules() 按需 require(常驻)或由设置开关条件加载(参考登录页/悬浮栏模式)。
3
挂设置卡:实现 Nuxare_Core_Tab_Interface,注册到 nuxare_core_settings_tabs,复用 Form_Helper trait 渲染表单行,save() 内校验 nonce 后写 option。

资源按页拆分 JS、复用代码入共享文件;仅扫描必要目录避免积分消耗;默认值:操作日志保留 7 天、安全日志 500 条、可信设备有效期 60 天。