怎么添加一言功能? - WordPress開發(fā)

    簡(jiǎn)單來(lái)說(shuō),一言指的就是一句話,留下你所喜歡的那一句句話,與大家分享,這就是一言存在的目的,這次的wordpress開發(fā)教你怎么添加一言功能

    做一個(gè)個(gè)人博客,如何展示自己收集或是喜歡的句子?做一個(gè)企業(yè)網(wǎng)站,如何展示自己的企業(yè)理念?也許在不經(jīng)意的某處,一言能幫上你。簡(jiǎn)單來(lái)說(shuō),一言指的就是一句話,留下你所喜歡的那一句句話,與大家分享,這就是一言存在的目的,這次的wordpress開發(fā)教你怎么添加一言功能。

    什么是一言?

    動(dòng)漫也好、小說(shuō)也好、網(wǎng)絡(luò)也好,不論在哪里,我們總會(huì)看到有那么一兩個(gè)句子能穿透你的心。我們把這些句子匯聚起來(lái),形成一言網(wǎng)絡(luò),以傳遞更多的感動(dòng)。如果可以,我們希望我們沒有停止服務(wù)的那一天。

    簡(jiǎn)單來(lái)說(shuō),一言指的就是一句話,可以是動(dòng)漫中的臺(tái)詞,也可以是網(wǎng)絡(luò)上的各種小段子。 或是感動(dòng),或是開心,有或是單純的回憶。來(lái)到這里,留下你所喜歡的那一句句話,與大家分享,這就是一言存在的目的。

    打開上面的網(wǎng)址,每一次刷新頁(yè)面,中間的文本就會(huì)改變。

    怎么添加一言功能? - WordPress開發(fā)

    怎么添加?

    • 一言官網(wǎng)
    • 本地部署(推薦版)
    • 本地部署(急速版)
    • 本地部署(便捷版)
    • 遠(yuǎn)程部署(極簡(jiǎn)版)
    • 遠(yuǎn)程部署(豐富版)
    • 遠(yuǎn)程部署(JS腳本)
    • 本地部署PHP版(孟坤)

    本地部署(推薦版)

    請(qǐng)您在主題根目錄下的 functions.php 文件下的 <?php 下添加以下代碼:

    /**
     * 本地一言
     */
    	function lifet_yiyan () {
    
        function random_str () {
        	$poems="Npcink致力于促進(jìn)廣大站長(zhǎng)成長(zhǎng)
        	找wordpress主題,就來(lái)Npcink
        	找wordpress主題,也來(lái)Npcink";
        	$poems=explode("\n",$poems);
        	return $poems[rand(0,count($poems)-1)];
        	}
        
        	echo random_str();
        
        }

    調(diào)用:

    請(qǐng)?jiān)谀枰{(diào)用一言的地方添加以下代碼調(diào)用:

    <?php lifet_yiyan();?>

    注意:請(qǐng)您自定義您的樣式。

    本地部署(極速版)

    在主題根目錄下的 inc 文件夾下新建 saying 文件夾,下載本頁(yè)底部提供的 hitokoto 壓縮包,解壓后添加至上方創(chuàng)建的saying 文件夾。

    在主題根目錄下的 functions.php 文件下的 <?php 下添加以下代碼:

    /*
     * 加載極速版一言
     */
    require ( get_template_directory() . '/inc/saying/hitokoto.php' );

    調(diào)用:

    在您需要展示一言的地方添加以下代碼調(diào)用:

    <?php hitokoto(); ?>

    本地部署(便捷版)

    一言官網(wǎng)API遠(yuǎn)程部署:

    此方法很省事,而且言論的質(zhì)量很高,但可能會(huì)在一定程度上影響網(wǎng)站加載速度

    遠(yuǎn)程部署(極簡(jiǎn)版):

    在你需要添加一言顯示的地方添加以下代碼即可。

    <?php
        $url = "https://v1.hitokoto.cn";
        $json_date=file_get_contents($url);
        $date=json_decode($json_date, true);       
        echo wp_trim_words($date["hitokoto"], 140 )
    ?>

    第5行的“140”為字?jǐn)?shù)限制,推薦為140.

    遠(yuǎn)程部署(豐富版,不可用)

    在主題根目錄下的 functions.php 文件的 <?php 下添加以下代碼:

    // WordPress集成一言(Hitokoto)API經(jīng)典語(yǔ)句功能
    function LxtxgetHitokoto(){
        $url = 'https://sslapi.hitokoto.cn/';  //url后綴可通過c字段限定返回語(yǔ)句類型,類型詳見下方表格。
        $data = array(
                    // 'c'=>'d', // 限定內(nèi)容類型
                    'encode'=>'json'
                );
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 6);
        $response = curl_exec($ch);
        if($error=curl_error($ch)){
            return '歡迎來(lái)到堵文斐的個(gè)人博客~'; // 如果6s內(nèi),一言API調(diào)用失敗則輸出這個(gè)默認(rèn)句子~
        }
        curl_close($ch);
        $array_data = json_decode($response,true);
        $lxtx_content = $array_data['hitokoto'].'----《'.$array_data['from'].'》'; // 輸出格式:經(jīng)典語(yǔ)句----《語(yǔ)句出處》
        return $lxtx_content;
    }
    
    // 如果獲取不到一言內(nèi)容,返回301永久重定向,在上述代碼中添加curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); 直接抓取跳轉(zhuǎn)的頁(yè)面即可解決。

    在需要展示的位置添加以下代碼調(diào)用:

    <?php echo LxtxgetHitokoto(); ?>

    一言API的返回參數(shù):

    • id:本條一言的id,可以鏈接到 https://hitokoto.cn?id=[id] 查看這個(gè)一言的完整信息。
    • hitokoto:一言正文,編碼方式 usc2,使用 utf-8。
    • type:類型,跟請(qǐng)求參數(shù)相同。a: Anime - 動(dòng)畫;b: Comic – 漫畫;c: Game – 游戲;d: Novel – 小說(shuō);e: Myself – 原創(chuàng);f: Internet – 來(lái)自網(wǎng)絡(luò);g: Other – 其他
    • from:一言的出處。
    • creator:添加者。
    • cearted_at:添加時(shí)間。

    遠(yuǎn)程部署(JS腳本版)

    首先,在主題根目錄下的 footer.php 底部 </body> 前添加以下代碼

    //引入jquery
    <script type="text/javascript" src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
    //添加js
    <script type='text/javascript'>
    $.get("https://v1.hitokoto.cn/",function(data,status){
      if (status == 'success'){
        $('.hitokoto').text(data.hitokoto);
      }else{
        $('.hitokoto').text('獲取出錯(cuò)!');
      }
    });
    </script>
    //添加樣式
    <style type="text/css">
    .hitokoto{
        border-left: 5px solid #61B3E6;
        border-right: 5px solid #61B3E6;
        background-color: #ebebeb;
        padding: 10px;text-align: left;
        color: #095AD4;
        margin: 5px 0 5px 0;
    }
    </style>

    在需要展示的地方添加以下代碼調(diào)用:

    <div class='hitokoto'></div>

    本地部署PHP版(非wordpress)

    存儲(chǔ)數(shù)據(jù)文件:本頁(yè)頁(yè)底(data)

    file_get_contents?函數(shù)實(shí)現(xiàn)版:

    <?php
    // 存儲(chǔ)數(shù)據(jù)的文件
    $filename = 'data.dat';        
     
    // 指定頁(yè)面編碼
    header('Content-type: text/html; charset=utf-8');
     
    if(!file_exists($filename)) {
        die($filename . ' 數(shù)據(jù)文件不存在');
    }
     
    // 讀取整個(gè)數(shù)據(jù)文件
    $data = file_get_contents($filename);
     
    // 按換行符分割成數(shù)組
    $data = explode(PHP_EOL, $data);
     
    // 隨機(jī)獲取一行索引
    $result = $data[array_rand($data)];
     
    // 去除多余的換行符(保險(xiǎn)起見)
    $result = str_replace(array("\r","\n","\r\n"), '', $result);
     
    echo $result;

    如何在靜態(tài)頁(yè)面中引用

    上面的代碼都是直接在頁(yè)面中就輸出了隨機(jī)的句子。如果想像一言那樣在靜態(tài)的網(wǎng)頁(yè)中引用這個(gè) api,該如何實(shí)現(xiàn)呢?

    很簡(jiǎn)單,將最后那一行的?echo $result;?換成

    echo 'document.write("'.htmlspecialchars($result).'");';

    然后在需要的位置用引入 js 的方式進(jìn)行調(diào)用即可。

    示例代碼:

    <script src="http://yourwebsite.com/api.php"></script>

    下載權(quán)限

    查看
    • 免費(fèi)下載
      評(píng)論并刷新后下載
      登錄后下載

    查看演示

    • {{attr.name}}:
    您當(dāng)前的等級(jí)為
    登錄后免費(fèi)下載登錄 小黑屋反思中,不準(zhǔn)下載! 評(píng)論后刷新頁(yè)面下載評(píng)論 支付以后下載 請(qǐng)先登錄 您今天的下載次數(shù)(次)用完了,請(qǐng)明天再來(lái) 支付積分以后下載立即支付 支付以后下載立即支付 您當(dāng)前的用戶組不允許下載升級(jí)會(huì)員
    您已獲得下載權(quán)限 您可以每天下載資源次,今日剩余

    仿嗶哩嗶哩充電區(qū)塊 - WordPress區(qū)塊

    2020-9-6 8:25:05

    國(guó)內(nèi)主題

    Return - 適合個(gè)人博客、自媒體的Wordpress主題

    2020-2-2 3:02:00

    ??
    Npcink上的部份代碼及教程來(lái)源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無(wú)意侵害您的權(quán)益,請(qǐng)發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    4 條回復(fù) A文章作者 M管理員
    1. 本地部署便捷版 不顯示結(jié)果,控制臺(tái)報(bào)錯(cuò) Uncaught TypeError: hitokoto is not a function at (index):198

      • 感謝您的反饋,經(jīng)測(cè)試發(fā)現(xiàn),該代碼確實(shí)無(wú)效,抱歉了。
        由于已經(jīng)有了其他便捷的解決方案,也可供您參考。

      • Muze

        是說(shuō)的 遠(yuǎn)程部署(JS腳本版)這個(gè)嗎,這個(gè)我試了是有效的,就是不能自定義想要的句子 ?笑哭了?

      • 也可以看看其他的版本嘛

    ?
    個(gè)人中心
    購(gòu)物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 精品国产日韩一区三区| 波多野结衣AV一区二区三区中文| 国产精品久久一区二区三区| 中文字幕一区二区三区免费视频| 久久免费国产精品一区二区| 免费萌白酱国产一区二区三区 | 精品91一区二区三区| 国产在线步兵一区二区三区| 国产精品资源一区二区| 一区二区三区在线观看视频| 一区二区三区观看| 亚洲国产老鸭窝一区二区三区| 久久久久久人妻一区精品| 亚洲一区精彩视频| 亚洲国产精品成人一区| 国产激情无码一区二区| 另类国产精品一区二区| 精品一区二区三区四区电影| 国产一区二区三区不卡观| 精品深夜AV无码一区二区老年| 国产一区视频在线免费观看| 久久se精品一区二区国产| 麻豆视传媒一区二区三区| 日韩内射美女人妻一区二区三区| 中文字幕日韩精品一区二区三区| 久久国产高清一区二区三区| 性色AV一区二区三区天美传媒| 国产伦精品一区二区免费 | 日韩人妻一区二区三区蜜桃视频| 另类国产精品一区二区| 日本成人一区二区三区| 一区二区手机视频| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲国产专区一区| 国产精品分类视频分类一区| 亚洲AV成人一区二区三区观看 | 无码国产精品一区二区免费vr | 久热国产精品视频一区二区三区| 亚洲国产专区一区| 视频一区二区在线观看| 亚洲一区二区三区免费在线观看 |