给博客加上内置二维码功能

之前用了qr.liantu.com的接口生存二维码,并且通过curl抓取到接口生成的二维码图片之后,再保存到本地的一个cache目录下。之前用着挺爽的,但是最近这个网站开始抽风,生成二维码非常慢,最后完全无法忍受了,于是决定还是自己生成二维码得了。

我的目标是给每一篇文章生成一个二维码,放在cache目录下,在我的首页和路迹栏目都需要用到。于是下载了知名的二维码库phpqrcode,然后集成到我自己的工具函数中。自己写的代码如下:

<?php

include_once(__DIR__.'/phpqrcode/qrlib.php');

function get_qr_code_url($text) {
  $path = "/cache/qrcode-".md5($text).".png";
  $file = WP_CONTENT_DIR.$path;

  if (!file_exists($file)) {
    QRcode::png($text, $file, QR_ECLEVEL_L, 4);
  }

  $url = home_url("/wp-content".$path);
  return $url;
}

然后在主题文件中调用get_qr_code_url函数即可。$text则通过get_the_permalink()得到,这样就快速把二维码集成到自己到博客中了。