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

推荐订阅源

雷峰网
雷峰网
宝玉的分享
宝玉的分享
I
InfoQ
P
Privacy International News Feed
V
V2EX
IT之家
IT之家
S
SegmentFault 最新的问题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V2EX - 技术
V2EX - 技术
C
CERT Recently Published Vulnerability Notes
C
Check Point Blog
The Register - Security
The Register - Security
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
AWS News Blog
AWS News Blog
M
MIT News - Artificial intelligence
C
Cyber Attacks, Cyber Crime and Cyber Security
F
Fortinet All Blogs
B
Blog
N
Netflix TechBlog - Medium
B
Blog RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
T
Threatpost
Forbes - Security
Forbes - Security
U
Unit 42
A
Arctic Wolf
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Palo Alto Networks Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recorded Future
Recorded Future
L
Lohrmann on Cybersecurity
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
月光博客
月光博客
Spread Privacy
Spread Privacy
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
I
Intezer
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
MyScale Blog
MyScale Blog
腾讯CDC
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
量子位

山月

在VS Code配置Obsidian風格Markdown編輯環境 – 山月 在Windows通过LM Studio使用Zotero MCP – 山月 禁用WordPress中Jetpack的AI助手按钮 – 山月 WordPress/MCP Adapter安装与维护指南 – 山月 WordPress服务器权限与所有权配置详解 – 山月 在Windows上為GnuCash啟用線上報價 (Finance::Quote) – 山月 Gitea Docker /var/empty 权限问题除错总结 – 山月 Bookwyrm由0.7.5升级至Production(e217a17)完整过程及疑难解答 – 山月 用正则表达式修改ruby标签 – 山月 为WordPress Syndication Links插件添加新的站点与图标的实现方法 – 山月 进入不断重启的Docker容器的命令行之方法 – 山月 自建Bookwyrm无法查询远端用户?——开启数据库扩展 – 山月 BookWyrm无法增添书本、作者、阅读进度……?——解决数据库自增序列问题 – 山月 俾Docker容器中的应用访问宿主机上的数据库服务 – 山月 QNAP NAS使用者注意!千万莫对MariaDB做这件事…… – 山月 解决Wikibase手动导入数据后无法新建实体之问题 – 山月 辰年再訪神保町 – 山月 PHP-FPM站点池配置调优以解决WordPress过度占用系统资源之问题 – 山月 如果Linux软件包常规升级失败——以python3-update-manager为例 – 山月 解决站点526报错:SSL证书配置错误 – 山月 風挾着陽光來 – 山月 和A.N.R.GHG插件说bye-bye – 山月 WordPress页面链接末尾出现“?swcfpc=1”后缀,是怎么回事? – 山月 安装、维护Monica PRM的一些笔记 – 山月 清理服务器空间的着手点 – 山月 关于Joplin Server文件上传大小上限 – 山月 如何优化PHP文件上传大小:完整指南 – 山月 WordPress站点部分地出现“严重错误”的一些可能的解法 – 山月 自托管WordPress编辑文章出现问题的排查法 – 山月 於Docker安裝sudo之方法 – 山月 于YunoHost网页版后台装pgAdmin4失败之解决方法 – 山月 解决WordPress多站点网络下异域名子站登录失败的问题 – 山月 Linux的SWAP配置建议与方法 – 山月 如何从一个.sql文件中恢复(导入)数据到MySQL数据库 – 山月 橙色的天,金色的鯉魚 – 山月 設置SoftBank光IP地址固定分配時MAC地址報錯之解決方法 – 山月 解决自托管WordPress与Jetpack通信之不畅 – 山月 解决WordPress上传超过100M文件失败的问题——用Cloudflare作为CDN服务时 – 山月 自托管WordPress迁至新服务器时可能遇到的一些问题 – 山月 Jetpack server port value报错之解决方法 – 山月 Nextcloud服务器目录中/data/updater-(12个英数字)文件夹可删除 – 山月 使WP IndieBlocks、Webmention两插件配合工作 – 山月 导致WordPress钩子(hooks)重复调用的一个可能性——插件重复安装 – 山月 为WordPress自定义贴文类型设置默认格式(post format) – 山月 为Micropub客户端所发内容设置默认post type – 山月 让WordPress的自定义post type支持post formats – 山月 在WordPress通过古腾堡块编辑器验证您的Mastodon身份 – 山月 如何将Mastodon上关注的人导入至Friendica – 山月 在WordPress上发Mastodon的一个选项:Shortnotes+Share on Mastodon – 山月 祝WordPress 20周年快乐!(节译) – 山月 更改IndieBlocks札记(note)、喜欢(like)slug之方法 – 山月 改变Friendica域名之方法 – 山月 爲WordPress添上在線Markdown、HTML互轉工具 – 山月 內排散記 – 山月 长毛象(Mastodon)简介:多中心化、细粒度公开、多样时间轴 – 山月 教ChatGPT讲福州话 – 山月 WordPress项目管理插件使用心得 – 山月 汉字词“地震”之前,日语中表达地震的本土词 – 山月 “幸”与“福”的区别 – 山月 Koha 22.05安装教程(于Ubuntu 20.04 LTS) – 山月 《日本外來語辭典》讀書筆記 – 山月 “传毒”——童年游戏回忆一则 – 山月 WordPress多站点网络分布于不同主域名时登录管理后台出现cookie错误的解决方案 – 山月 如何为WordPress多站点设置不同的子目录、子域名,甚至主域名? – 山月 重温《日语的历史》 – 山月 东京教父:关于爱与救赎 – 山月 2021年末,豆瓣更新了它的条款…… – 山月 WordPress报错“Briefly unavailable for scheduled maintenance.”的解决方法 – 山月 日语里的「原形」「辞书形」「终止形」是什么? – 山月 《福州方言大词典》读后感 – 山月 一種美觀的由Hubzilla分享RSS資訊的方法 – 山月 《我们仨》中与《宋诗选注》相关的记载 – 山月 亂彈文忠公宴番仔事 – 山月 一本清代土腔谜语集引发的回忆 – 山月 迎圣火 – 山月 凝滞在方言里的时光 – 山月 站在新庄园门前 – 山月 长星照耀州府 – 山月 虚拟币与赛博矿难 – 山月 记忆、记录与创造 – 山月 几日来写作微信推文的反思 – 山月 对OKR工作管理法的归纳总结 – 山月 同人誌之夢 – 山月 那里人很爱诗词 – 山月 从语言学看两性语言差异 – 山月 南门兜素菜馆 – 山月 闽海痛史 – 山月 东京的西方建筑遗产 – 山月 真实的华人电影 – 山月 记观《只有野兽知道》 – 山月 记早稻田祭 – 山月 《鬼灭之刃》日语札记 – 山月 颱風前夜的仙草凍 – 山月 首篇博文 – 山月 我到底是转厝了 – 山月 CM96暴走记 – 山月 薄暮逐島 – 山月 人与神的共振 – 山月 逐集罔讲罔听 – 山月 以往不谏 – 山月
批量更改WordPress媒体URL – 山月
2023-10-20 · via 山月

有时候我们的WordPress站点更换域名后,媒体库中的URL链接还是老域名地址。

还有的站长不想把图片什么的媒体文件放在虚拟空间中,想放在速度比较快的图床中。

……

如何批量更改媒体库中文件的URL链接地址呢?

网上找寻答案,会发现一些更新日时为两三年前的文章,指出可以安装一些插件来解决。只是笔者验证后,发现皆在现在的版本(6.3.2)中不可用了。

可能还是需要回归到最根本的解法——直接于数据库批量修改。网上有些反馈文章说数据库批量修改也容易有遗漏,那我们只能尽量排查干净了。

wp_options

在WordPress中,wp_options表主要用于存储站点的设置选项,而不是单个附件的URL。通常,单个附件的URL存储在wp_posts表的guid列,而附件的路径信息存储在wp_postmeta表中。

然而,wp_options表中有两个选项upload_pathupload_url_path,可以用于控制媒体文件的默认上传路径和URL。这些选项在WordPress 3.5版本之后被隐藏,但仍然可以通过数据库直接修改它们,或使用自定义代码来访问和修改它们。

如果想改变媒体文件的默认上传路径和URL,可以尝试以下步骤:

直接在数据库中修改

  • 打开wp_options表。
  • 查找option_name列为upload_pathupload_url_path的行。
  • 修改option_value列以反映想要的新路径和URL。

兹以upload_url_path为例说明一下数据表相关字段与其他可能的配置方式:

  1. option_id (阿拉伯数字,例如“55”):
    • 这是该选项记录的唯一标识符,用于在数据库表中唯一标识此记录。
  2. option_name (upload_url_path):
    • 这是选项的名称,它告诉WordPress这个记录是关于什么的。在这种情况下,它是关于上传URL路径的。
  3. option_value (一串URL):
    • 这是选项的值。通常为。这个字段应该包含媒体文件的基本URL,例如http://sanguok.com/uploads
  4. autoload (yes):
    • 这个字段告诉WordPress是否应该在每个页面加载时自动加载这个选项的值。如果设置为yes,WordPress将在加载时自动从数据库中获取这个选项的值,这可以提高性能,因为它减少了数据库查询的次数。

使用自定义代码

  • 可以在主题的functions.php文件或自定义插件中添加代码,来程序性地修改这些选项。
   update_option( 'upload_path', 'your-new-path' );
   update_option( 'upload_url_path', 'your-new-url' );

在做任何更改之前,务必备份数据库和网站,以防止可能的数据丢失或损坏。

wp_posts表与wp_postmeta

在WordPress中,每个附件的URL存储在wp_posts表的guid列中。同时,附件的元数据,包括文件路径等信息,存储在wp_postmeta表中。wp_postmeta表中的meta_key_wp_attached_file的记录保存了附件文件的相对路径,而meta_key_wp_attachment_metadata的记录保存了附件的其他元数据,包括宽度、高度和缩略图信息等。

如果想手动修改附件的URL,可能需要更新wp_posts表中的guid列以及wp_postmeta表中与该附件相关的记录。在进行这些更改之前,强烈建议备份数据库,以防止意外导致数据丢失或损坏。

以下是一些可能的步骤:

备份数据库

  • 在进行任何手动修改之前,请确保备份WordPress数据库。

定位附件记录

  • wp_posts表中找到您想要修改的附件,通常可以通过post_type列(值应为attachment)和post_title列来识别附件。

修改URL

  • 更新guid列中的URL,以反映您想要的新URL。
  • wp_postmeta表中找到与该附件相关的记录(通过post_id列匹配),并更新_wp_attached_file_wp_attachment_metadata记录中的路径信息。

验证更改

  • 在WordPress后台检查附件的URL,以确保它已正确更新,并确保网站仍然正常工作。

在同一张表格里,post_contentpost_content_filtered列可能会有一些对旧URL的引用,也需要批量修改。

彻底检查

在上述之外的表格中仍然可能可以找到旧的媒体URL,需要改为新的URL。可以考虑在数据库下执行搜索,搜索内容为旧URL,匹配方式选择“至少一个词”,这样可以尽量避免遗漏。

在笔者的场合下,通过这样的搜索可以发现其他第三方插件所建的表格,以及多站点网络下其他子站的表格中,对旧URL的引用。