WordPress添加自动生成二维码具体过程
wordpress本身是没有二维码功能的,但是我们可以直接使用生成二维码,下面我来给大家介绍整合WordPress自动生成二维码代码.
再自己修改下,使它支持 首页、分类、标签、文章和页面.
1.添加缓存函数到主题的 functions.php 文件,代码如下:
- function get_qr($url,$path,$qrpic){
-
- set_time_limit (10);
- $destination_folder = $path?$path.'/':'';
- $localname = $destination_folder .$qrpic;
- $file = fopen ($url, "rb");
- if ($file) {
- $newf = fopen ($localname, "wb");
- if ($newf)
- while(!feof($file)) {
- fwrite( $newf, fread($file, 1024 * 2 ), 1024 * 2 );
- }
- }
- if ($file) {
- fclose($file);
- }
- if ($newf) {
- fclose($newf);
- }
- }
注:以上代码是缓存到本地的功能
2.在网站根目录建立一个叫 qrcode 的新文件夹,确保有写入权限(755或777),用于保存图片.
3.将代码放到需要输出二维码图片的地方,如single.php、sidebar.php 等
实例代码如下:
- <?php
- if(is_single() || is_page() || is_home() || is_front_page() || is_category() || is_tag()) :
-
- $imgsize = 150;
- if (is_single() || is_page()) $imgname = get_the_id();
- elseif (is_home() || is_front_page()) $imgname = 'home';
- elseif(is_category()) $imgname = 'cat-'.get_query_var('cat');
- elseif(is_tag()) $imgname = 'tag-'.get_query_var('tag_id');
-
- $localqr = ABSPATH .'qrcode/'.$imgname.'.jpg';
- if (!file_exists($localqr)) {
- get_qr( "http://chart.googleapis.com/chart?cht=qr&chs=".$imgsize."x".$imgsize."&choe=UTF-8&chld=L|2&chl=".get_permalink() ,"qrcode", $imgname.".jpg");
- }
- ?>
- <img src="<?php echo home_url( '' ); ?>/qrcode/<?php echo $imgname ?>.jpg" width="<?php echo $imgsize ?>" height="<?php echo $imgsize ?>" alt="QR Code"/>
- <?php endif; ?>
注:以上代码是命名和显示二维码图片,添加代码后,页面在被第一次访问就会生成图片,然后缓存到本地.