移動(dòng)互聯(lián)網(wǎng)時(shí)代已經(jīng)到來(lái),如何讓你的訪客方便的在手機(jī)上訪問(wèn)你的網(wǎng)站,也許增添一個(gè)二維碼功能會(huì)是一個(gè)不錯(cuò)的選擇。這次的wordpress開(kāi)發(fā)教大家怎么通過(guò)qrcode.js生成二維碼。
原理分析:
很簡(jiǎn)單,就是獲取當(dāng)前日志的URL值并在js中傳給QRCode即可。
實(shí)現(xiàn)步驟:
第一步,加載本地主題文件夾內(nèi)的qrcode.js(下載鏈接在頁(yè)底)
<script type='text/javascript' src='http://localhost/wp-content/themes/lifet/js/qrcode.min.js?ver=20200508'></script>
第二步:獲取當(dāng)前日志鏈接
<?php echo get_permalink(); ?>
第三步:獲取當(dāng)前日志鏈接并傳遞給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>
在這里我通過(guò)value的方式,在js中獲取鏈接的值并通過(guò)變量傳給QRCode
完整的代碼如下:
<script type='text/javascript' src='http://localhost/wp-content/themes/lifet/js/qrcode.min.js?ver=20200508'></script>
當(dāng)前日志鏈接:<?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>
方法(推薦):
我們可以構(gòu)建一個(gè)方法來(lái)方便的生成二維碼,在您主題根目錄下的 functions.php
文件的頂部添加以下代碼:
<?php
//二維碼
if ( ! function_exists( 'npcink_post_qrcode' ) ) :
function npcink_post_qrcode() {
//獲取當(dāng)前頁(yè)面鏈接
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;
調(diào)用:
在需要展示當(dāng)前日志鏈接的地方調(diào)用以下代碼即可。
<?php npcink_post_qrcode();?>
需要注意的是,上面的代碼中調(diào)用了主題根目錄文件夾下的 qrcode.js ,該文件可在下面這個(gè)鏈接中下載。
其實(shí),在上文中,還提供有一些控制方法可供大家參考,例如顏色、尺寸和大小之類(lèi)的。
文中的獲取當(dāng)前頁(yè)函數(shù)無(wú)法正常獲取到首頁(yè)的鏈接,為了演示就不改了,各位可參考下面這篇文章進(jìn)行改進(jìn):