阅读:1777回复:0
wordpress教程:如何为文章自动生成二维码
[tr][td]前些天看到通过Google API来生成二维码,但Google的服务在国内一直都不太稳定,所以我就考虑到缓存到本地,然后找 @小蝴蝶 折腾出核心功能代码,再自己修改下,使它支持 首页、分类、标签、文章和页面 。
添加缓存函数到主题的 functions.php 文件 function get_qr($url,$path,$qrpic){ set_time_limit (10); //设置十秒超时$destination_folder = $path?$path.'/':''; $localname =$destination_folder .$qrpic; $file = fopen ($url, "rb"); //fopen函数的r+模式: 读写方式打开 文件指针指向文件头 if ($file) { $newf = fopen ($localname, "wb"); //w+,读写方式打开 文件指针指向文件头 如果文件不存在则尝试创建之 if ($newf) while(!feof($file)) {fwrite( $newf, fread($file, 1024 * 2 ), 1024 * 2 );//写入文件,fread控制文件最大的大小,这里是2M } } if ($file) { fclose($file);//关闭fopen打开的文件 } if ($newf) { fclose($newf); } } 注:以上代码是缓存到本地的功能 建相关文件夹 在网站根目录建立一个叫 qrcode 的新文件夹,确保有写入权限(755或777),用于保存图片。 将代码放到需要输出二维码图片的地方 如single.php、sidebar.php 等 " height="" alt="QR Code"/> 注:以上代码是命名和显示二维码图片。添加代码后,页面在被第一次访问就会生成图片,然后缓存到本地 使用ID来命名图片,主要是考虑到WordPress的ID是独一无二的(标签、分类的ID和文章、页面的ID可能会重复,所以前面两种都添加的前缀命名),而且是ID基本不会改变的。这样一来每个页面只生成一次图片并缓存到本地目录,然后直接调用本地的图片,不需要每次都访问GoogleAPI,从而提高加载速度。 </strong> [/td][/tr] |
|