
WordPress 的流行不是由 WordPress 程式本身決定的,而是由廣大的 WordPress 開發者和愛好者推出來的。現在建站選擇 WordPress,最方便的就是可以在網上找到非常多的優秀的免費 WordPress 主題,還有各種用途的 WordPress 外掛,幾乎想要的功能就能用外掛來代替。
對於 WordPress 的折騰戶來說,沒有強大的興趣作支撐是很難日復一日地研究和推出新的 WordPress 最佳化技巧和方案,尤其是在國內作為一個 WordPress 開發者有時可能感覺很孤獨和寂寞。本篇文章就是來自熱愛 WP 的張戈博主自己在折騰 WordPress 過程中開發出來的 WP 實用技巧。
有的朋友可能想要在自己的 WordPress 的每篇文章上展示百度是否收錄的情況。還有的為了提高網站人氣,我們有必要將 WordPress 的讀者製作一個漂亮的展示牆,在評論中顯示訪客 UA 資訊。對於“ 要求高” 的朋友,可能還想要讓自己的 WordPress 的每篇文章的 ID 是連續的。
如果你有以上幾個需求,那麼可以直接將本文分享的有關 WordPress 最佳化程式碼拿去用了。前一天部落分享了 WordPress 同步更新到新浪微博,這次我們帶來了張戈博主改進最佳化版本:讓 WordPress 釋出文章自動同步到新浪微博,並帶上特色圖片。
WordPress 最佳化:查詢百度收錄, 自動同步微博帶圖片, 年月日排名的讀者牆
一、查詢並展示 WordPress 文章是否被收錄
1 、可能有的人會比較喜歡查詢自己部落格上的每篇文章是否被百度收錄,並將結果展示出來,類似的效果如下:

2 、實現在上述效果可以直接使用 WP-Baidu-Record 外掛,官網:https://WordPress.org/plugins/wp-baidu-record/
3 、外掛啟用後,點選 [設定] 按鈕進入外掛設定介面,外掛預設設定如下 (預設是在文章內容的最後輸出百度收錄結果,而且是公開顯示):

4 、如果你想自定義輸出位置,那麼請勾選自定義結果輸出位置,前往 WordPress 主題目錄,找到文章模板 (一般是 single.php),然後在想要顯示的位置新增如下函式即可:<?php echo baidu_record(); ?>

5 、喜歡使用純程式碼的話,編輯 WordPress 主題目錄下的 functions.php 檔案,在最後一個?> 標籤之前,新增如下程式碼並儲存:
- function baidu_check($url){
- global $wpdb;
- $post_id = ( null === $post_id ) ? get_the_ID() : $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,'沒有找到')){
- if( $baidu_record == 0){
- update_post_meta($post_id, 'baidu_record', 1);
- } else {
- add_post_meta($post_id, 'baidu_record', 1, true);
- }
- return 1;
- } else {
- if( $baidu_record == false){
- add_post_meta($post_id, 'baidu_record', 0, true);
- }
- return 0;
- }
- } else {
- return 1;
- }
- }
- function baidu_record() {
- if(baidu_check(get_permalink()) == 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>';
- }
- }
6 、然後編輯 WordPress 主題下的文章模板 (一般是 single.php),在想要顯示收錄結果的位置新增如下程式碼並儲存:<?php echo baidu_record(); ?> 。和上文外掛的安裝方法一致,可進一步參考操作。
7 、程式碼說明如下:
1 、透過 curl 在百度查詢 url 收錄結果,如果已收錄就將結果寫入到文章的 post meta 記錄中。待下一次再次開啟頁面時,先檢查文章自定義欄目欄位來判斷是否已收錄,若已收錄則直接輸出,而不再執行 curl 查詢。
2 、若查詢結果為已收錄,亦會輸出一個在百度查詢文章標題的 a 標籤,用於檢視文章排名,甚至可以檢視是否被人轉載或篡改!
3 、 管理員可以隨時在後臺文章編輯介面中的自定義欄目來修改是否已收錄的結果,自定義名稱為 baidu_record,1 為已收錄,0 為未收錄。