Npcink Blog
切换菜单

External Media without Import - 让 WordPress 媒体库支持外链图片

可以将一个外链图片添加进 WordPress 媒体库中,但只是往 WordPress 数据库里插入一条链接数据

External Media without Import 可以将一个外链图片添加进 WordPress 媒体库中,但只是往 WordPress 数据库里插入一条链接数据,并不会将图片文件传到 WordPress 站点所在的服务器上。

使用 WordPress 建站的人可能大都知道,在没有插件支持的情况下,要将一张图片添加进 WordPress 媒体库中,就必须要将图片文件上传到 WordPress 所在的服务器。

但是有的用户可能希望将图片存储在另一台服务器另一个域名上以节省 WordPress 主站的空间和流量,与此同时仍然想将这些图片添加进 WordPress 媒体库,以便使用 WordPress 媒体相关的功能和插件——比如相册等。

External Media without Import 就是用来满足这个需求的插件。

它可以将一个外链图片添加进 WordPress 媒体库中,但只是往 WordPress 数据库里插入一条链接数据,并不会将图片文件传到 WordPress 站点所在的服务器上。

当然,一条数据库记录也会占用服务器空间,但比起动辄几十 KB 乃至几个 MB 的图片文件来说,还是微不足道的。

该插件在 WordPress 管理页面的媒体添加上传面板中增加了一个 Add External Media without Import 按钮:

External Media without Import|让WordPress媒体库支持外链图片

点击它就会出现一个输入图像 URL 的面板。输入图像 URL 后点击“添加”按钮,就会将外链图片插入至媒体库中。就是这么简单易用:

External Media without Import|让WordPress媒体库支持外链图片

因为界面上扩展的是媒体库的上传面板,所以用户在编辑文章和页面的过程中也可以随时使用该插件添加外链图片到媒体库中。

另外,你也可以点击管理页面左侧菜单的“多媒体”->“Add External Media without Import”子菜单直接进入 URL 的输入面板。

做这个插件的最初动机是来源于我博客的作品集页面的排版。

那时我的作品集页面使用了一个支持外链图片但只支持 Grid 排版的相册:

Responsive Grid Gallery with Custom Links。

然而页面中的各个图片宽度高度都不相等,这就造成了页面中有的图片上下或左右空隙很大,使排版很是难看:

External Media without Import|让WordPress媒体库支持外链图片

因此我打算改用瀑布流排版(Masonry Layout)。支持瀑布流排版的相册插件倒是不少,但并不是随便挑一个都能用。

这是因为绝大部分相册插件要么只接受媒体库里的图片,要么需要用户上传本地图片,也就是说相册中的图片仍然要存储在 WordPress 站点上。

而我为了节省博客站点自身的空间和流量,将所有图片都放在了 Photobucket 上。因此我需要一个既支持外链图片又支持瀑布流排版的相册插件。

然而支持外链图片的相册插件本身就很少,支持外链图片的瀑布流相册插件更是一直没找到。于是我想到了让 WordPress 媒体库支持外链图片的插件,那样很多相册插件就能用上了。

于是就诞生了这个 External Media without Import 插件。

接着我又使用 BNE Gallery Extended 和 WP Gallery Custom Links 这两个插件扩展了 WordPress 的自带相册——前者让相册支持瀑布流排版,后者让相册中的每张图片支持自定义的点击链接。最终用这两个插件再加上我自己做的 External Media without Import,三管齐下实现了作品集页面的外链图片的瀑布流相册。从下图右侧的页面源代码中选中的元素可见图片是从 Photobucket 上取的,并没有存储在 WordPress 站点上:

External Media without Import|让WordPress媒体库支持外链图片

想不到我的第一个正式发布的个人项目是个 Web 项目,用到的技术是我在现在工作的互联网创业公司学到的 Web 技术。原本想主打的游戏开发技术到现在一毛钱都还没用上。