我有多个生活在不同域上的Wordpress实例(not 多站点安装)。
由于它们以不同的语言提供相同的内容,我想在这些实例之间共享这些图像。理想情况下,这些Wordpress安装将共享相同的媒体库,这样我只需上传一次文件,它们也可以在其他网站上使用,甚至可以由相同的CDN提供服务,并共享相同的URL。
例如,我上传Image1.jpg
现场Example.com
W3 Total Cache将其复制到CDN,该缓存为来自MyCdn.com/static/Image1.jpg
其他站点Esempio.it
会有Image1
已在媒体库中提供,无需上载,并且能够从相同的URL提供相同的图像MyCdn.com/static/Image1.jpg
由于两个站点都位于同一台服务器上,所以我考虑使用Store uploads in this folder
设置自Media Settings
让目标文件夹实际上是一个符号链接。
对于这种情况,建议的最佳做法是什么?所需的空间不是真正的问题,但我更关心的是维护的方便性。
谢谢
SO网友:Matthew Brown aka Lord Matt
简而言之,这不能用vanilla WordPress实现(我知道,我试过了)。然而,一点编码就可以做到这一点。
图像以内置post类型存储在WordPress中-Attachments. 这是您需要在远程站点上以CDN映像的详细信息为主题进行更新的内容。
我的方法(我已经考虑过为多站点这样做)是这样的。
编写一个小插件,当通知新附件时,可以通过编程方式添加附件。我会提供一个源(我的站点)的白名单,如果ping来自上述站点,并且在其上找到了图像,则会在本地制作附件,并将图像复制到本地或远程存储(例如在您的CDN中)。
像I have recently learned, 您可以在WordPress中创建自定义JSON端点。这些端点将是您需要让站点相互“对话”以共享新媒体更新的地方。
如果这样做,请小心将这些端点紧紧锁定。如果你对传入的数据不小心,迟早会有一些恶意的某某会让你度过非常糟糕的一天。这就是为什么我建议只使用白名单。使用公钥/私钥的签名证书。
我在很多地方看到很多人要求共享媒体。无论是谁坐下来做这样的工作,都是最受欢迎的。
我希望这有帮助。