最簡單的調用辦法就是直接調用google,代碼如下:
- <img src="https://chart.googleapis.com/chart?cht=qr&chs=150x150&choe=UTF-8&chld=L|4&chl=<?php the_permalink(); ?>" width="150" height="150" alt="QR 碼"/>
上面的代碼中只要修改 150 這個圖片大小就好了,代碼如下:
<?php the_permalink(); ?>
是自動獲得文章鏈接,如果要生成博客站點的二維碼只要替換成博客域名固定鏈接就可以了,我給改了下,封裝成函數,這樣圖片大小可以改變,不過其實使用起來也不大方便,因為用主題時即使是函數肯定也是寫死的,除非結合后臺設置二維碼圖片大小,所以用處不大.
上面方法是直接通過 google 的 api 生成圖片,有些地方可能因為網絡問題,會很慢,所以小蝴蝶同學在胡長萌的要求下,又做了本地緩存圖片的處理
一、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的新文件夾,確保有寫入權限
三、以下代碼放到需要輸出二維碼圖片的地方,如 single.php,代碼如下:
- <?php
- $localqr = ABSPATH .'qrcode/'.get_the_id().'.jpg';
- if (!file_exists($localqr)) {//如果圖片已經存在,則不會再次保存
- get_qr( "http://chart.googleapis.com/chart?cht=qr&chs=100x100&choe=UTF-8&chld=L|4&chl=".get_permalink() ,"qrcode", get_the_id().".jpg");//圖片名以文章id命名
- }
- ?>
- <img src="<?php echo home_url( '' ); ?>/qrcode/<?php the_id()?>.jpg" width="100" height="100" alt="QR 碼"/>
- <!--默認二維碼圖片大小是100*100,如果要改,需要改4個地方,已經用藍色標注-->
新聞熱點
疑難解答
圖片精選