移動互聯網時代已經到來,如何讓你的訪客方便的在手機上訪問你的網站,也許增添一個二維碼功能會是一個不錯的選擇。這次的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 ,該文件可在下面這個鏈接中下載。
其實,在上文中,還提供有一些控制方法可供大家參考,例如顏色、尺寸和大小之類的。
文中的獲取當前頁函數無法正常獲取到首頁的鏈接,為了演示就不改了,各位可參考下面這篇文章進行改進:
不錯