最近有WordPress建站项目用到了WordPress系统自带的相册来批量插入图片,每篇文章都是插入几十张照片,有些甚至夸张到一篇文章插入88张图片的,而且图片都是原尺寸到最宽800多像素,最最坑爹的就是这个项目网站所在的是澳洲,距离国内相当遥远,网速非常不稳定,时快时慢,于是乎可以想象这个插入图片的过程将变得多么的痛苦,当然我一直坚信世界是懒人创造的,没有绝对逾越不了的屏障。

通过这两天的研究,一一排除了寻找澳洲代理服务器或者澳洲VPN的想法,因为速度还不如自己的美国VPN,绝对的坑爹和无意义,于是乎转向了寻求WordPress插入批量图片以后如何最快速的把所有图片都插入编辑框然后发布出去的方法,传统的方式一张一张的插入图片,可以做到有条不紊,但是如此巨大的图片量,加上如此不稳定的网速,可以想象简直就是噩梦,那么是否有批量上传图片以后,一次性插入所有文章的方式呢?答案是 Absolutely ,就是通过插入WordPress自带的Gallery的形式一次性插入,当然因为这个网站需要插入原尺寸的图片,然后是插入一列,也就是每行一张图片,于是简单搜索了一下得到以下完美实现的代码:


简单解释一下以上的代码,columns=”1″ 代表插入一列,link=”file” 代表图片链接指向图片源地址,size=”full” 代表插入全尺寸,插入这段代码发布以后,无论你批量上传了100张还是1000张图片,发布以后前台都会显示所有的图片出来,不过这个时候还有个问题就是WordPress插入自带的Gallery的时候也会顺带嵌入固定的样式代码,因为是嵌入到网页里边的,因此优先级最高,基本无法通过其他样式的层级关系来覆盖,因此还需要插入模版函数文件functions.php里边一行如下的代码来去除默认嵌入的样式:

add_filter('gallery_style', 
	create_function(
		'$css', 
		'return preg_replace("#<style type=\'text/css\'>(.*?)</style>#s", "", $css);'
		)
	);

至此再次刷新首页的时候,发现默认嵌入的样式没了,Perfect!