Npcink Blog
切换菜单

怎么将 qrcode.js 生成二维码添加到网站上? - wordpress 开发

如何让你的访客方便的在手机上访问你的网站,也许增添一个二维码功能会是一个不错的选择。这次的 wordpress 开发教大家怎么通过 qrcode.js 生成二维码

本页目录4 节

移动互联网时代已经到来,如何让你的访客方便的在手机上访问你的网站,也许增添一个二维码功能会是一个不错的选择。这次的 WordPress 开发教大家怎么通过 qrcode.js 生成二维码。

原理分析:

很简单,就是获取当前日志的 URL 值并在 js 中传给 QRCode 即可。

实现步骤:

第一步,加载本地主题文件夹内的 qrcode.js(下载链接在页底)

<script type='text/javascript' src='http://localhost/wp-content/themes/lifet/js/qrcode.min.js?ver=20200508'></script>

第二步:获取当前日志链接

<?php echo get_permalink(); ?>

第三步:获取当前日志链接并传递给 QRCode

<input type="text" id="npcink-id" value="<?php echo get_permalink(); ?>" style="display: none;"/>
<div id="qrcode-npcink"></div>
<script language="javascript">
var npcink_z=document.getElementById("npcink-id").value;
new QRCode(document.getElementById("qrcode-npcink"), npcink_z);
</script>

在这里我通过 value 的方式,在 js 中获取链接的值并通过变量传给 QRCode

完整的代码如下:

<script type='text/javascript' src='http://localhost/wp-content/themes/lifet/js/qrcode.min.js?ver=20200508'></script>
当前日志链接:<?php echo get_permalink(); ?>
<input type="text" id="npcink-id" value="<?php echo get_permalink(); ?>" style="display: none;"/>
<div id="qrcode-npcink"></div>
<script language="javascript">
var npcink_z=document.getElementById("npcink-id").value;
new QRCode(document.getElementById("qrcode-npcink"), npcink_z);
</script>

方法(推荐):

我们可以构建一个方法来方便的生成二维码,在您主题根目录下的 functions.php 文件的顶部添加以下代码:

<?php
//二维码
if ( ! function_exists( 'npcink_post_qrcode' ) ) :
function npcink_post_qrcode() {
//获取当前页面链接
if( is_home() ){
$npcink_post_url = home_url();
}else {
$npcink_post_url = get_permalink();;
}
?>
<script type='text/javascript' src='<?php echo get_template_directory_uri() . '/js/qrcode.min.js';?>'></script>
<div id="npcink_text" style="display: none;"><?php echo $npcink_post_url ?></div>
<div id="qrcode-npcink"></div>
<script>
var npcink_b = document.getElementById('npcink_text').innerText;
new QRCode(document.getElementById("qrcode-npcink"), npcink_b);
</script>
<?php
}
endif;

调用:

在需要展示当前日志链接的地方调用以下代码即可。

<?php npcink_post_qrcode();?>

需要注意的是,上面的代码中调用了主题根目录文件夹下的 qrcode.js ,该文件可在下面这个链接中下载。

其实,在上文中,还提供有一些控制方法可供大家参考,例如颜色、尺寸和大小之类的。

文中的获取当前页函数无法正常获取到首页的链接,为了演示就不改了,各位可参考下面这篇文章进行改进: