=== WP 附件美化 ===
Contributors: gaochaola
Tags: attachment, download, media, 附件, 下载
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.2
Author URI: https://www.gaochaola.com
Stable tag: 1.11.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

美化文章中的附件：将附件链接渲染为带图标、文件大小、下载次数的精美附件卡片。

== Description ==

WP 附件美化（wp-attachment-beautify）帮助你告别千篇一律的附件链接，把文章里的附件变成精致、信息完整、便于下载的卡片。

= 主要功能 =

* 媒体库短代码：在媒体库（或“添加媒体”弹窗）选中附件，即可看到它的卡片短代码，一键「复制」或直接「插入到文章」。
* 插入外部附件：经典编辑器工具栏新增「插入外部附件」按钮，粘贴链接即可插入卡片——站内附件完整显示文件信息，外部链接也能渲染为外部链接卡片。
* 块编辑器「附件卡片」块：从媒体库选择附件，编辑时实时预览，前台动态渲染。
* 短代码插入：[wab url="链接"] 通过链接识别附件并渲染卡片，支持 name 参数自定义显示名称。
* 文件类型识别：自动区分 PDF / Word / Excel / PPT / 压缩包 / 音频 / 视频 / 图片 / 文本 / 代码 等类型，并配以不同颜色图标。
* 文件信息展示：文件大小、文件类型、下载次数，均可按需开关。
* 下载计数：点击“下载”自动累计下载次数，后台媒体库列表可直接查看。
* 外观自定义：主题色、卡片背景、圆角、阴影。按钮与卡片背景均支持「单色 / 渐变 / 自定义图片」三种模式，后台设置页实时预览，图片可一键从媒体库选择。
* 强制下载：可让“下载”按钮直接保存文件而非打开预览（内联展示受服务器配置影响，详见帮助说明）。
* 移动端适配：小屏自动纵向排列，按钮整行显示。

= 使用方法 =

方式一（媒体库短代码）：在后台「媒体」库（或文章编辑器里的“添加媒体”弹窗）选中附件，附件详情面板底部会出现该附件的卡片短代码，点「复制」复制，或点「插入到文章」直接插入到经典编辑器光标处。

方式二（插入外部附件）：
* 经典编辑器：点工具栏里的“插入外部附件”按钮，输入链接地址（本地附件或外部链接均可），自动在光标处插入卡片短代码。
* 块编辑器（Gutenberg）：点“+”添加块，搜索「附件卡片」，从媒体库选择附件，编辑时实时预览。

方式三（短代码）：直接粘贴链接到文章正文即可：
`[wab url="https://你的域名/wp-content/uploads/xxx.pdf"]`
或指定显示名称：
`[wab url="https://你的域名/wp-content/uploads/xxx.pdf" name="自定义名称"]`
短代码只识别链接，不识别附件 ID。

= 卸载说明 =

卸载插件时会自动清理设置选项与所有下载次数数据。

== Installation ==

1. 将 wp-attachment-beautify 文件夹上传到 /wp-content/plugins/ 目录。
2. 在 WordPress 后台“插件”页面启用“WP 附件美化”。
3. 到后台「插件」列表，点击「WP 附件美化」行内的「附件美化」链接进入设置页。

== Changelog ==

= 1.13.2 =
* 下载统计页只统计被「[wab] 附件卡片」短代码使用的附件，未使用的附件不再出现在列表中。
* 下载统计页新增手动输入页码跳转，直达任意页。
* 美化下载统计页整体样式与翻页按钮（圆角按钮、当前页高亮）。

= 1.13.1 =
* 下载统计页新增「所属文章」列（自动匹配正文引用与上传挂载文章）。
* 下载统计页支持一键导出 CSV（UTF-8 BOM，Excel 可直接打开）。
* 完善分页查看：显示当前页码 / 总页数与附件总数。

= 1.13.0 =
* 移除 1.12.0 新增的 5 种布局（图标右置、顶部色条、角标式、大图标、上下分栏），卡片样式恢复为 5 种经典布局。
* 新增「下载统计」独立管理页：按附件统计下载次数（总数/累计/明细/分页），入口在插件列表行「停用」右侧。

= 1.12.1 =
* 角标式图标缩小为右上角小角标；大图标布局图标加大到 80px，与标准区分更明显。
* 保存提示简化：只显示「样式 X · 设置已保存」，去掉颜色代码等冗余信息。
* 样式示意图按钮改为深色，标准与图标右置等布局位置更易分辨。

= 1.12.0 =
* 新增 5 种卡片布局：图标右置、顶部色条、角标式、大图标、上下分栏（共 10 种）。

= 1.11.2 =
* 设置页加载后按当前保存的卡片样式同步预览布局与选中高亮（刷新后能直观看到已选样式）。
* 设置页输入控件聚焦改为稳定蓝色高亮，避免浏览器默认 outline 造成的闪烁感；隐藏的 radio/checkbox 不再显示聚焦轮廓。


= 1.11.1 =
* 保存设置后的提示（AJAX 无感弹窗与原生提交刷新两种方式）都会显示当前选择的卡片样式名称（如：样式 纵向）。


= 1.11.0 =
* 卡片样式改为 5 种布局模板（不再按颜色区分）：标准（图标左/信息中/按钮右）、纵向（图标上/信息下通栏）、简洁（一行紧凑，不显示大小等）、居中（大图标居中/通栏按钮）、列表（无边框行式）。
* 布局样式与「主题按钮 / 卡片背景」颜色设置相互独立，所有布局都受颜色设置控制；列表样式无圆角、无阴影。
* 设置页卡片样式选择器改为布局示意图，实时预览同步切换。


= 1.10.0 =
* 新增：卡片样式模板（5 种：经典 / 简约 / 深色 / 渐变 / 强调边），在设置页外观样式中选择，前端即时生效，支持实时预览。
* 深色、渐变样式自带背景与白色文字；强调边样式在浅色卡片左侧显示主题色强调条。
* 主题按钮、卡片背景设置说明同步更新（深色 / 渐变样式不受卡片背景设置影响）。


= 1.9.6 =
* 修复设置无法保存：保存时若标准 update_option 未写入数据库，自动改用数据库直写（$wpdb）强制写入，并回读验证。
* 若数据库仍写入失败，弹窗会显示数据库原始错误信息，便于定位（如数据库只读、权限不足等）。

= 1.9.5 =
* 保存后强制清除选项对象缓存再回读，避免回读旧缓存导致“保存了却显示没保存”。
* 保存响应增加写入状态：若数据库写入失败或回读异常，弹窗会明确提示“数据库写入失败 / 回读异常”，便于定位问题。

= 1.9.4 =
* 修复“保存后刷新回默认”的保存失败问题：保存改为使用 WordPress 后台自带的 jQuery 发送 AJAX（兼容性更好）；若 AJAX 仍失败，自动退回原生表单提交兜底，确保设置一定写入数据库。
* 保存成功后回读数据库中的实际值并显示在弹窗里（“回读 #xxxxxx”），方便确认写入结果。
* 颜色等字段在提交缺失/异常时改为保留原有设置，不再误清为用户默认色。

= 1.9.3 =
* 前端配色绝对生效：每张卡片前直接输出带 !important 的内联样式，按钮/卡片背景/圆角/阴影强制按后台设置显示，不再受外部样式、加载顺序或样式缓存影响。
* 保存设置后，成功弹窗会回显实际保存的按钮色与卡片色，并提示前台未更新时刷新页面或清理站点缓存，方便确认保存结果与定位缓存问题。

= 1.9.2 =
* 修复配色保存/预览错乱：单色、渐变、图片三组的颜色字段改为互不重复的名字，保存时不再被另一组同名旧值覆盖（“选别的颜色没用”）；后台预览改为读取当前激活模式的颜色（“预览颜色错误”）。
* 单色与渐变模式切换时自动联动“主色/起点”，选色体验连续。
* 保存成功提示改为绿色底白字的高对比样式，浅色背景下更醒目。
* 优化“强制下载”说明文字，讲清浏览器内联展示与服务器配置的关系。

= 1.9.1 =
* 彻底修复前台配色不生效：主题按钮与卡片背景的配色 CSS 变量直接内联到每个卡片元素上（元素级变量优先级最高），不再受外部样式覆盖或加载顺序影响。

= 1.9.0 =
* 渐变起点/终点颜色：默认终点色改为与起点同色系深蓝；起点、终点取色器旁会实时提示该颜色显示在哪个方位（随方向切换更新）。
* 保存设置改为 AJAX 无感保存：点击保存不再刷新页面，直接弹出居中成功提示，2 秒自动关闭。
* 添加媒体弹窗多选附件时，会列出所有选中附件的卡片短代码并显示“已选 N 个，将插入 N 个卡片”，选几个就显示几个，避免误选。

= 1.8.0 =
* 修复：渐变方向选择现在实时预览（此前下拉框的值未被预览脚本读取）。
* 修复：渐变方向标注与 CSS 实际方向一致（90° = 左→右、180° = 上→下，已按正确语义标注）。
* 设置页宽度放开，占满可用区域，适配大屏。
* 保存设置后的提示改为页面居中的弹窗样式，2 秒自动关闭。

= 1.7.0 =
* 修复：添加媒体弹窗多选附件后点「插入到文章」，现在会插入全部选中附件的卡片短代码（不再只插最后一个）。
* 修复：保存设置后始终显示成功提示（2 秒自动淡出关闭）。
* 修复：外观样式（主题按钮 / 卡片背景）在前台不生效的问题——CSS 变量改为追加在 wab.css 之后并统一放于 :root，不再被卡片局部默认值覆盖。

= 1.6.0 =
* 移除正文自动替换（不再自动识别「媒体文件 / 附件页面」链接）。
* 媒体库附件详情面板恢复卡片短代码显示，并提供「复制」与「插入到文章」按钮：经典编辑器点击直接插入光标处，其他场景自动复制到剪贴板。

= 1.5.0 =
* 自动替换扩展到「媒体文件」链接：在媒体库插入附件时，「链接到」选择“媒体文件”或“附件页面”都会自动变成卡片（「无 / 自定义URL」不替换）。
* 设置页保存成功后提示 2 秒自动淡出关闭。
* 设置页布局加宽，适配大屏显示器。
* 插件主页与作者主页统一为 https://www.gaochaola.com。

= 1.4.0 =
* 设置页全面美化：渐变页头、分组卡片、模式切换标签，实时预览更直观。
* 主题按钮与卡片背景支持「单色 / 渐变 / 自定义图片」三种模式：渐变可选方向（左上↘右下 / 上↓下 / 左→右 / 左下↗右上），图片可粘贴链接或直接从媒体库选择；按钮图片自动叠加深色遮罩、卡片图片叠加半透明白色遮罩以保证文字可读。

= 1.3.0 =
* 入口调整：设置页不再显示为「插件」子菜单，改为在后台「插件」列表里「WP 附件美化」行内提供「附件美化」链接（在启用/停用/编辑旁）。
* 修复「插入外部附件」按钮点击无反应：重写为独立弹窗脚本（不再依赖 TinyMCE 插件与浏览器 prompt），输入链接与可选名称后自动插入短代码。
* 按钮名称统一为「插入外部附件」。
* 作者信息更新为「高超导航」（https://gaochaola.com）。

= 1.2.1 =
* 设置入口调整：「附件美化」设置页从「设置」子菜单移到「插件」菜单下。

= 1.2.0 =
* 经典编辑器「附件卡片」按钮改为「插入外部附件」：粘贴链接即插入 [wab url] 短代码，外部链接也能渲染为卡片。
* 自动替换改为仅对「链接到附件页面」的链接生效。
* 移除媒体库附件详情面板里的卡片短代码复制框。
* 短代码由 [wab id] 改为 [wab url]，只识别链接；非常见扩展名的链接也能识别（按 URL 反查附件，反查不到则渲染外部链接卡片兜底）。

= 1.1.1 =
* 自动替换升级：现在同时识别「媒体文件」链接与「附件页面」链接（?attachment_id / ?attachment / 规范重写 URL），避免“链接到附件页面”时不变卡片造成困惑。

= 1.1.0 =
* 新增块编辑器「附件卡片」块：媒体库选择、编辑时实时预览、前台动态渲染。
* 新增经典编辑器工具栏「附件卡片」按钮（含“添加媒体”旁的快捷按钮）。

= 1.0.0 =
* 首个版本：附件卡片渲染、类型识别、文件大小、下载计数、短代码、后台设置、媒体库下载列。
