1. 程式人生 > >純程式碼實現Wordpress主題部落格站點的文章新增顯示百度是否收錄功能

純程式碼實現Wordpress主題部落格站點的文章新增顯示百度是否收錄功能

前言:最近看到很多站點上有一個dux新增百度是否收錄的功能,這極大地方便了站長本人對網站內容是否收錄的管理,同時可以更加親密地與訪客進行互動,自己閒來無事也給自己網站添加了這一功能,以下是我站點新增此功能的記錄,希望能幫助到同樣需要此功能的朋友們。

這次修改的檔案主要有兩個functions.php與single.php,大家可以在修改之前備份一下檔案,以防止因操作不當引起的種種問題。

functions.php檔案修改

首先我們需要將一下程式碼新增到你主題的functions.php檔案中,部分主題可能禁止編輯這個檔案,不過主題作者應該會提供另一個檔案方便大家對主題的修改,比如functions_z.php,具體檔案可諮詢主題作者。

/**
 * WordPress 新增百度是否收錄功能
 * https://zzzjtd.com
 * DIY By 志在指尖
**/function baidu_check($url,$post_id){
    $baidu_record  = get_post_meta($post_id,'baidu_record',true);if( $baidu_record !=1){
        $url='http://www.baidu.com/s?wd='.$url;
        $curl=curl_init();
        curl_setopt($curl,CURLOPT_URL,
$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl);if(!strpos($rs,'抱歉未找到該URL,您可直接訪問')&&!strpos($rs,'很抱歉,沒有找到與')){ update_post_meta($post_id,'baidu_record',1)|| add_post_meta($post_id,'baidu_record',1,true);return1;}
else{return0;}}else{return1;}}function baidu_record(){global $wpdb; $post_id =(null=== $post_id )? get_the_ID(): $post_id;if(baidu_check(get_permalink($post_id), $post_id )==1){ echo '<a target="_blank" title="點選檢視" rel="external nofollow" href="http://www.baidu.com/s?wd='.get_the_title().'">百度已收錄</a>';}else{ echo '<a style="color:red;" rel="external nofollow" title="點選提交,謝謝您!" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename='.get_permalink().'">百度未收錄</a>';}}

single.php檔案修改

single.php檔案是主題的文章頁面,一般我們將這個功能新增到這裡可以方便訪客實時檢視到dux文章顯示此篇文章是否被百度收錄,你可以將下面的短程式碼新增至你希望放置的位置。

<?php baidu_record();?>

目前對於我使用的DUX主題,我是將這段程式碼新增到了如下位置,大家可做參考。

<spanclass="item"><?php echo _get_post_comments()?></span><spanclass="item"><?php baidu_record();?></span><spanclass="item"><?php edit_post_link('[編輯]');?></span>