點擊這里給我發消息
點擊這里給我發消息
首 頁
網站案例
虛擬主機
企業郵箱
域名注冊
Flash制作
軟件開發
廣告設計
服務報價
激情唯誠
聯系我們
公告:熱烈慶祝南京唯誠網絡2010版官方網站改版成功!
 
當前位置 :南京網站建設>成功故事分享>列表  
28個WordPress主題函數使用技巧(4)
時間:2010-06-19 09:28 來源:南京網站建設 點擊:
TAG:
 

23,設定文章從發布到出現在RSS中的時間長短

    通過RSS訂閱來閱讀博文的朋友可能都會有這個體驗:經常發現RSS中的文字或者細節有錯誤,而返回到頁面的時候卻發現錯誤已經沒有了。這種情況最有可能是因為

    RSS最大的好處是快捷、直接,但這個最大的好處有時候對作者來說卻會引發某些尷尬。所以,有時候有必要讓文章發布后到讀者從RSS中按到有一個小小的時間差,方便作者排查某些問題。以下的代碼可以做到以下幾點:

function publish_later_on_feed($where) {
    global $wpdb;

    if ( is_feed() ) {
    // timestamp in WP-format
    $now = gmdate(‘Y-m-d H:i:s’);

    // value for wait; + device
    $wait = ‘10′; // integer

    // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
    $device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

    // add SQL-sytax to default $where
    $where .= ” AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait “;
    }
    return $where;
    }

    add_filter(‘posts_where’, ‘publish_later_on_feed’);

    這段代碼設置的時間是10分鐘,你可以把10改成任何你想要的時間。

24,自定義摘要輸出時的符號

    一般設定自動摘要輸出,你會經常在WordPress博客的首頁看到“[。..]”這樣的符號。為了界面的美觀,或者是個性化的需要,你可以把這個默認的符號改變為其他的符號。而以下的代碼就是為了實現這個而寫:

// custom excerpt ellipses for 2.9
    function custom_excerpt_more($more) {
    return '…';
    }
    add_filter('excerpt_more', 'custom_excerpt_more');

    /* custom excerpt ellipses for 2.8-
    function custom_excerpt_more($excerpt) {
    return str_replace('[...]', '…', $excerpt);
    }
    add_filter('wp_trim_excerpt', 'custom_excerpt_more');
    */

 25,自定義摘要輸出的文字長度

    假如你比較懶,不想在撰寫文章的時候每篇文章都輸入摘要,就可以讓系統自動截取一定長度的文字來作為摘要輸出。下面的代碼默認是100個字節,也就是50個漢字。你可以把數值修改成符合你需要的數字。

function new_excerpt_length($length) {
    return 100;
    }
    add_filter('excerpt_length', 'new_excerpt_length');

 26,顯示精確評論數

    WordPress默認是把trackbacks 和 pings 都算作評論的,因此當你設置不顯示trackbacks 和 ping的時候,評論數看起來總是不對頭。以下的代碼則以讓WordPress只計算評論的數量,而不把trackbacks 和 pings也計算進去。

add_filter('get_comments_number', 'comment_count', 0);
    function comment_count( $count ) {
    if ( ! is_admin() ) {
    global $id;
    $comments_by_type = &separate_comments(get_comments('status=approve&post_id=' . $id));
    return count($comments_by_type['comment']);
    } else {
    return $count;
    }
    }

 27,取消RSS輸出

    對于某些博客而言,或者因為被太多人采集了,或者因為不想讓別人通過RSS訂閱,想取消RSS輸出。WordPress默認是沒有這個功能的,但你可以通過以下的代碼來取消RSS輸出。

function fb_disable_feed() {
    wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
    }

    add_action('do_feed', 'fb_disable_feed', 1);
    add_action('do_feed_rdf', 'fb_disable_feed', 1);
    add_action('do_feed_rss', 'fb_disable_feed', 1);
    add_action('do_feed_rss2', 'fb_disable_feed', 1);
    add_action('do_feed_atom', 'fb_disable_feed', 1);

 28,顯示Twitter 的訂閱數以及其他資料

    Twitter系統以及很多第三方的客戶端都可以讓你在WordPress博客的側邊欄暫時Twitter的訂閱數以及一些其他的資料。這種做法往往很多時候都沒辦法跟博客已有的界面結合的很好。而以下的代碼則可以讓你自定義Twitter 在博客上的顯示外觀。

function rarst_twitter_user( $username, $field, $display = false ) {
    $interval = 3600;
    $cache = get_option('rarst_twitter_user');
    $url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username);

    if ( false == $cache )
    $cache = array();

    // if first time request add placeholder and force update
    if ( !isset( $cache[$username][$field] ) ) {
    $cache[$username][$field] = NULL;
    $cache[$username]['lastcheck'] = 0;
    }

    // if outdated
    if( $cache[$username]['lastcheck'] < (time()-$interval) ) {

    // holds decoded JSON data in memory
    static $memorycache;

    if ( isset($memorycache[$username]) ) {
    $data = $memorycache[$username];
    }
    else {
    $result = wp_remote_retrieve_body(wp_remote_request($url));
    $data = json_decode( $result );
    if ( is_object($data) )
    $memorycache[$username] = $data;
    }

    if ( is_object($data) ) {
    // update all fields, known to be requested
    foreach ($cache[$username] as $key => $value)
    if( isset($data->$key) )
    $cache[$username][$key] = $data->$key;

    $cache[$username]['lastcheck'] = time();
    }
    else {
    $cache[$username]['lastcheck'] = time()+60;
    }

    update_option( 'rarst_twitter_user', $cache );
    }

    if ( false != $display )
    echo $cache[$username][$field];
    return $cache[$username][$field];
    }

    把上面的代碼復制到 functions.php后,再把下面代碼復制到你想出現的地方即可。

    Then place the following code where you want to display the count in your theme file:

echo rarst_twitter_user('wpbeginner', 'name').' has '.
    rarst_twitter_user('wpbeginner', 'followers_count').' followers after '.
    rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';

(責任編輯:admin)
 
 
上一篇:28個WordPress主題函數使用技巧(3)
下一篇:沒有了
 


 推薦關注

 熱點關注

關于我們 | 工作機會 | 付款方式 | 網站制作 | 網頁制作 | 網頁設計 | 網絡公司 | 聯系我們 | 網站地圖
版權所有:南京唯誠信息技術有限公司 © 2005-2010 All Rights Reserved.
咨詢專線:400-657-0669 技術專線:025-83208669-808 傳真:025-83208669-803
地址:南京市鼓樓區廣州路37-1號江蘇科技大廈502室 郵編:210008 蘇ICP備05002558號
辽宁35选七最新开奖 北京赛车预测软件app 长春科乐麻将 快速提现真钱手机捕鱼 大唐棋牌游戏软件开 今日股市行情大盘 在网上如何赚钱 南粤26选5 2019中超积分榜 好玩的棋牌游戏都在 湖南幸运赛车开奖视频直播 黄大仙资料大全正版 大嘴棋牌下载最新 黑龙江省11选5开奖助手 电玩城街机ios下载 欢乐棋牌斗地主 陕西体彩11选5玩法介绍