惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Scott Helme
Scott Helme
Know Your Adversary
Know Your Adversary
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
AI
AI
美团技术团队
人人都是产品经理
人人都是产品经理
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
宝玉的分享
宝玉的分享
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
大猫的无限游戏
大猫的无限游戏
Google Online Security Blog
Google Online Security Blog
L
LINUX DO - 最新话题
罗磊的独立博客
Recent Announcements
Recent Announcements
H
Hacker News: Front Page
博客园 - 【当耐特】
K
Kaspersky official blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
F
Full Disclosure
Google DeepMind News
Google DeepMind News
V
V2EX
博客园 - 聂微东
量子位
云风的 BLOG
云风的 BLOG
C
Check Point Blog
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
W
WeLiveSecurity
Engineering at Meta
Engineering at Meta
V2EX - 技术
V2EX - 技术
Vercel News
Vercel News
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
The GitHub Blog
The GitHub Blog

执迷者X

在深圳,一个人如何浪费他的5小时 - 执迷者X 性能分析 - 执迷者X 世界,您好! - 执迷者X Vibe Coding 做高交互动效站(下) —— 动效站的实现与调试 SOP WordPress 迁移实战(上)——数据库精细化迁移策略与数据恢复 - 执迷者X 端午碎念 – 无法缓和神经的3天 - 执迷者X 端午碎念 – 无法缓和神经的3天 - 执迷者X Vibe Coding 做高交互动效站(上) —— 提示词与素材准备 屈原故里长大的我,从龙舟赛看乡土中国 - 执迷者X 屈原故里长大的我,从龙舟赛看乡土中国 - 执迷者X 使用 OpenClaw 半个月,它在我的电脑上干了什么? - 执迷者X 使用 OpenClaw 半个月,它在我的电脑上干了什么? - 执迷者X AI随笔:用 OpenClaw 批量做了 70 条抖音视频 AI随笔:用 OpenClaw 批量做了 70 条抖音视频 思考:AI如何让「提效」变成「耗能」——熵增思考 - 执迷者X 思考:AI如何让「提效」变成「耗能」——熵增思考 - 执迷者X 用 Excel + 高德 API 做选址POI简单处理,翻车的概率有多大? 用 Excel + 高德 API 做选址POI简单处理,翻车的概率有多大? 连锁品牌在高线城市加密布局思路 2026笔记 - 执迷者X 连锁品牌在高线城市加密布局思路 2026笔记 - 执迷者X AI 时代,你的个人网站只差这最后一步(附 618 大厂抄底清单) - 执迷者X AI 时代,你的个人网站只差这最后一步(附 618 大厂抄底清单) - 执迷者X Windows彻底重装 OpenClaw 教程:告别本地模型,接入 DeepSeek API OpenClaw 部署实战:从本地推理瓶颈到云端混合架构的演进 - 执迷者X WordPress 作者头像不显示?Myclaw 用户 Gravatar 配置全流程 个人安装 Claude Code 和 OpenClaw 全记录 VS Code + Claude Code + DeepSeek 三件套,打造最强 Vibe Coding 开发环境 当「智能」成为新的牢笼:我们是如何在AI时代迷路的 - 执迷者X 新租赁准则下 ROU 资产怎么算?一文读懂 - 执迷者X 本站原创歌曲《执迷者》歌词 - 执迷者X 又是一个星夜兼程的周末,5月底 - 执迷者X 扣子助手一键生成博客元信息,自动填进WordPress - 执迷者X 解决 EdgeOne 缓存同步文章延迟问题 - 执迷者X 520 量化日记|平台掣肘,转向Python本地回测 - 执迷者X 日记:2026年的520,周三,夜 - 执迷者X 市场洞察:深圳核心区咖啡布局思路与竞争突围分析 - 执迷者X 黄仁勋 2026年 最新演讲:AI 不会淘汰你,但 “会用 AI” 的人会 笔记:新手尝试制作小程序 -基于网页PHP - 执迷者X AI规划:5月21日·周三 待办清单 - 执迷者X
WordPress 迁移实战(下)——缩略图丢失的完整修复流程 - 执迷者X
Myclaw · 2026-06-25 · via 执迷者X

问题背景

用 WXR 工具迁移 WordPress 后,文章缩略图全部消失。原因:

  • WXR 导入后附件 ID 发生变化,_thumbnail_id 指向的附件在新库中不存在
  • 图片文件存储在腾讯云 COS,本地无文件

一、理解缩略图的加载逻辑

Puock 主题按以下优先级获取缩略图:

  1. _thumbnail_id(特色图)
  2. external_thumbnail_url(外部图片 URL)
  3. → 文章内容第一张图
  4. → 随机默认图

修复思路:删除无效的 _thumbnail_id,改用 external_thumbnail_url 直接存储 COS 图片地址。

二、诊断当前状态

-- 1. 有多少篇文章设置了特色图
SELECT COUNT(*) FROM wp_postmeta WHERE meta_key = '_thumbnail_id';

-- 2. 新库中有多少附件记录
SELECT COUNT(*) FROM wp_posts WHERE post_type = 'attachment';

-- 3. 有多少 _thumbnail_id 指向不存在的附件(无效记录)
SELECT COUNT(*) FROM wp_postmeta pm
LEFT JOIN wp_posts p2 ON p2.ID = pm.meta_value AND p2.post_type = 'attachment'
WHERE pm.meta_key = '_thumbnail_id' AND p2.ID IS NULL;

如果第 3 条结果 = 第 1 条结果,说明所有特色图记录全部失效,需要全部清除并重建。

三、从旧库迁移缩略图 URL

前提:旧库和新库在同一台服务器,用 root 账号登录 phpMyAdmin。

预览(确认数据正确后再执行写入):

USE lifetruth;

SELECT new_p.post_name, old_p2.guid AS thumbnail_url
FROM wp_posts new_p
JOIN `旧`.wp_posts old_p ON old_p.post_name = new_p.post_name
JOIN `旧`.wp_postmeta old_pm ON old_pm.post_id = old_p.ID AND old_pm.meta_key = '_thumbnail_id'
JOIN `旧`.wp_posts old_p2 ON old_p2.ID = old_pm.meta_value AND old_p2.post_type = 'attachment'
WHERE new_p.post_status = 'publish';

确认无误后,正式写入:

INSERT INTO lifetruth.wp_postmeta (post_id, meta_key, meta_value)
SELECT new_p.ID, 'external_thumbnail_url', old_p2.guid
FROM lifetruth.wp_posts new_p
JOIN `旧`.wp_posts old_p ON old_p.post_name = new_p.post_name
JOIN `旧`.wp_postmeta old_pm ON old_pm.post_id = old_p.ID AND old_pm.meta_key = '_thumbnail_id'
JOIN `旧`.wp_posts old_p2 ON old_p2.ID = old_pm.meta_value AND old_p2.post_type = 'attachment'
WHERE new_p.post_status = 'publish';

四、删除无效的 _thumbnail_id

DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p2 ON p2.ID = pm.meta_value AND p2.post_type = 'attachment'
WHERE pm.meta_key = '_thumbnail_id' AND p2.ID IS NULL;

删除后,主题会跳过特色图检查,直接读取 external_thumbnail_url

五、修复 timthumb 域名问题

问题原因:timthumb 检测到图片 URL 的域名与当前站点相同,会把它当作本地文件路径处理,导致报错:

Could not find the internal image you specified.

解决方案:把 external_thumbnail_url 里的站内域名替换成 COS 存储桶域名:

UPDATE wp_postmeta
SET meta_value = REPLACE(
 meta_value,
 'https://lifetruth.top/wp-content/uploads/',
 'https://lifetruth-1258719200.cos.ap-guangzhou.myqcloud.com/wp-content/uploads/'
)
WHERE meta_key = 'external_thumbnail_url';

同时在 外观 → Puock设置 → 全局设置 → 缩略图白名单 添加:

lifetruth-1258719200.cos.ap-guangzhou.myqcloud.com

六、清除缓存

DELETE FROM wp_options WHERE option_name LIKE '_transient_%puock%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_%puock%';

同时清除 LiteSpeed Cache 全部缓存,在宝塔面板文件管理器删除:

/wp-content/themes/wordpress-theme-puock-master/cache/thumbnail/

下的所有文件,然后强制刷新页面(Ctrl+Shift+R)。