如何在WordPress中將Twitter關注者顯示為文本


顯示Twitter關注者的最簡單方法是使用官方的Twitter關注按鈕。 但是,如果您不想通過加載Twitter腳本來減慢站點速度呢? 或者,如果您要進行非常自定義的操作,並且需要將Twitter關注者計數顯示為文本而不是按鈕,該怎麼辦。 那麼,您會喜歡本教程的。 在本文中,我們將向您展示如何在WordPress網站上以文本形式顯示您的Twitter關注者計數。

想知道我們將如何做到這一點? 好吧,首先我們將創建一個Twitter App,以便我們可以正確使用Twitter API v1.1來吸引關注者。 我們將對其進行緩存以優化性能,然後將其顯示在站點上。 準備開始了嗎? 我們走吧。

您需要做的第一件事是為要顯示關注者人數的站點創建一個Twitter App。 去 Twitter開發人員網站 並使用您的Twitter帳戶登錄。 登錄後,創建一個新的應用程序。

創建一個新的Twitter應用

在下一個屏幕上,為您的應用提供一個名稱,可以是任何名稱,最好是您網站的標題。 為您的應用提供說明,該說明可以與您的博客或您想要的任何內容相同。 在網站字段中,輸入您的WordPress網站的URL,例如:https://www.wpbeginner.com。

在“回調URL”字段中也輸入相同的URL。 填寫表格後,點擊 創建您的Twitter應用程序 按鈕位於頁面底部。

這將創建一個新的Twitter應用供您使用。 在下一頁上,單擊 創建我的訪問令牌 按鈕。 這將顯示一條通知,告知您您的授權令牌已創建。

在您的Twitter App頁面上,下一步只需要使用Consumer Key和Consumer Secret。

複製以下代碼並將其粘貼到主題的 functions.php 文件或特定於站點的插件。 用您的消費者密鑰和秘密替換消費者密鑰和消費者秘密變量。

function getTwitterFollowers($screenName="wpbeginner")
{
    // some variables
    $consumerKey = 'YOUR_CONSUMER_KEY';
    $consumerSecret="YOUR_CONSUMER_SECRET";
    $token = get_option('cfTwitterToken');
 
    // get follower count from cache
    $numberOfFollowers = get_transient('cfTwitterFollowers');
 
    // cache version does not exist or expired
    if (false === $numberOfFollowers) {
        // getting new auth bearer only if we don't have one
        if(!$token) {
            // preparing credentials
            $credentials = $consumerKey . ':' . $consumerSecret;
            $toSend = base64_encode($credentials);
 
            // http post arguments
            $args = array(
                'method' => 'POST',
                'httpversion' => '1.1',
                'blocking' => true,
                'headers' => array(
                    'Authorization' => 'Basic ' . $toSend,
                    'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8'
                ),
                'body' => array( 'grant_type' => 'client_credentials' )
            );
 
            add_filter('https_ssl_verify', '__return_false');
            $response = wp_remote_post('https://api.twitter.com/oauth2/token', $args);
 
            $keys = json_decode(wp_remote_retrieve_body($response));
 
            if($keys) {
                // saving token to wp_options table
                update_option('cfTwitterToken', $keys->access_token);
                $token = $keys->access_token;
            }
        }
        // we have bearer token wether we obtained it from API or from options
        $args = array(
            'httpversion' => '1.1',
            'blocking' => true,
            'headers' => array(
                'Authorization' => "Bearer $token"
            )
        );
 
        add_filter('https_ssl_verify', '__return_false');
        $api_url = "https://api.twitter.com/1.1/users/show.json?screen_name=$screenName";
        $response = wp_remote_get($api_url, $args);
 
        if (!is_wp_error($response)) {
            $followers = json_decode(wp_remote_retrieve_body($response));
            $numberOfFollowers = $followers->followers_count;
        } else {
            // get old value and break
            $numberOfFollowers = get_option('cfNumberOfFollowers');
            // uncomment below to debug
            //die($response->get_error_message());
        }
 
        // cache for an hour
        set_transient('cfTwitterFollowers', $numberOfFollowers, 1*60*60);
        update_option('cfNumberOfFollowers', $numberOfFollowers);
    }
 
    return $numberOfFollowers;
}

現在,將這行代碼添加到主題模板中,以顯示Twitter粉絲數。 這可以在sidebar.php,header.php中或基本上任何您喜歡的地方。


而已。 大功告成我們希望本文能幫助您以WordPress中的文本形式顯示Twitter關注者。 您可以執行許多其他操作來將Twitter與WordPress網站集成。 例如,您可以添加推特卡,或在WordPress中顯示最近的推文。 要獲得更多此類有用的提示,請考慮以下內容 @wpbeginner 在Twitter上。

資料來源:Zvonko Biskup