当前位置:首页 > CMS教程 > WordPress > 列表

WordPress添加自动生成二维码具体过程

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-18 14:57:15 浏览: 评论:0 

wordpress本身是没有二维码功能的,但是我们可以直接使用生成二维码,下面我来给大家介绍整合WordPress自动生成二维码代码.

再自己修改下,使它支持 首页、分类、标签、文章和页面.

1.添加缓存函数到主题的 functions.php 文件,代码如下:

  1. function get_qr($url,$path,$qrpic){      
  2.  
  3.  set_time_limit (10); //设置十秒超时 
  4.  $destination_folder = $path?$path.'/':'';  
  5.  $localname = $destination_folder .$qrpic;      
  6.  $file = fopen ($url"rb"); //fopen函数的r+模式: 读写方式打开 文件指针指向文件头 
  7.  if ($file) {      
  8.   $newf = fopen ($localname"wb"); // w+,读写方式打开 文件指针指向文件头 如果文件不存在则尝试创建之  
  9.   if ($newf)      
  10.    while(!feof($file)) {      
  11.     fwrite( $newffread($file, 1024 * 2 ), 1024 * 2 ); //写入文件,fread控制文件最大的大小,这里是2M  
  12.    }      
  13.  }      
  14.  if ($file) {      
  15.   fclose($file);  //关闭fopen打开的文件    
  16.  }      
  17.  if ($newf) {      
  18.   fclose($newf);      
  19.  }      

注:以上代码是缓存到本地的功能

2.在网站根目录建立一个叫 qrcode 的新文件夹,确保有写入权限(755或777),用于保存图片.

3.将代码放到需要输出二维码图片的地方,如single.php、sidebar.php 等

实例代码如下:

  1. <?php 
  2. if(is_single() || is_page() || is_home() || is_front_page() || is_category() || is_tag()) ://只在文章、页面、首页、分类/标签存档,才加载下面的代码 
  3.  
  4.  $imgsize = 150; //二维码图片大小 
  5.  if (is_single() || is_page()) $imgname = get_the_id();//使用文章/页面ID命名图片 
  6.  elseif (is_home() || is_front_page())  $imgname = 'home';//首页使用home命名 
  7.  elseif(is_category()) $imgname = 'cat-'.get_query_var('cat');//分类使用cat-ID 命名 
  8.  elseif(is_tag()) $imgname = 'tag-'.get_query_var('tag_id');//标签使用tag-ID 命名 
  9.  
  10.  $localqr =  ABSPATH .'qrcode/'.$imgname.'.jpg'
  11.  if (!file_exists($localqr)) {//如果图片已经存在,则不会再次保存 
  12.   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"); 
  13.  }  
  14. ?> 
  15. <img src="<?php echo home_url( '' ); ?>/qrcode/<?php echo $imgname ?>.jpg" width="<?php echo $imgsize ?>" height="<?php echo $imgsize ?>" alt="QR Code"/> 
  16. <?php endif; ?>  

注:以上代码是命名和显示二维码图片,添加代码后,页面在被第一次访问就会生成图片,然后缓存到本地.

Tags: WordPress 自动生成 二维码

分享到: