WordPress優化:查詢百度收錄, 自動同步微博帶圖片, 年月日排名的讀者牆

WordPress 的流行不是由 WordPress 程序本身決定的,而是由廣大的 WordPress 開發者和愛好者推出來的。現在建站選擇 WordPress,最方便的就是可以在網上找到非常多的優秀的免費 WordPress 主題,還有各種用途的 WordPress 插件,幾乎想要的功能就能用插件來代替。

對於 WordPress 的折騰户來説,沒有強大的興趣作支撐是很難日復一日地研究和推出新的 WordPress 優化技巧和方案,尤其是在國內作為一個 WordPress 開發者有時可能感覺很孤獨和寂寞。本篇文章就是來自熱愛 WP 的張戈博主自己在折騰 WordPress 過程中開發出來的 WP 實用技巧。

有的朋友可能想要在自己的 WordPress 的每篇文章上展示百度是否收錄的情況。還有的為了提高網站人氣,我們有必要將 WordPress 的讀者製作一個漂亮的展示牆,在評論中顯示訪客 UA 信息。對於“ 要求高” 的朋友,可能還想要讓自己的 WordPress 的每篇文章的 ID 是連續的。

如果你有以上幾個需求,那麼可以直接將本文分享的有關 WordPress 優化代碼拿去用了。前一天部落分享了 WordPress 同步更新到新浪微博,這次我們帶來了張戈博主改進優化版本:讓 WordPress 發佈文章自動同步到新浪微博,並帶上特色圖片。

WordPress 優化:查詢百度收錄, 自動同步微博帶圖片, 年月日排名的讀者牆

一、查詢並展示 WordPress 文章是否被收錄

1 、可能有的人會比較喜歡查詢自己博客上的每篇文章是否被百度收錄,並將結果展示出來,類似的效果如下:

查詢並展示WordPress文章是否被收錄

2 、實現在上述效果可以直接使用 WP-Baidu-Record 插件,官網:https://WordPress.org/plugins/wp-baidu-record/

3 、插件激活後,點擊 [設置] 按鈕進入插件設置界面,插件默認設置如下 (默認是在文章內容的最後輸出百度收錄結果,而且是公開顯示):

使用WP-Baidu-Record插件

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

WordPress添加代碼

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 為未收錄。