Hur man visar Twitter-följare rÀknas som text i WordPress

Hur man visar Twitter-följare rÀknas som text i WordPress

Det enklaste sÀttet att visa Twitter-följare Àr att anvÀnda den officiella Twitter-följknappen. Men tÀnk om du inte vill sakta ner din webbplats genom att ladda twitters manus? Eller vad hÀnder om du gör nÄgot vÀldigt anpassat och behöver visa twitterföljare som text istÀllet för en knapp. Jo dÄ kommer du att gilla den hÀr handledningen. I den hÀr artikeln kommer vi att visa dig hur du visar din twitterföljare som text pÄ din WordPress-webbplats.

Undrar du hur vi ska göra det hÀr? Först kommer vi att skapa en Twitter-app, sÄ att vi kan anvÀnda Twitter API v1.1 för att dra nytta av antalet följare. Vi cachar det för att optimera prestanda och sedan visar vi det pÄ webbplatsen. Redo att komma igÄng? Nu gÄr vi.

Det första du behöver göra Àr att skapa en Twitter-app för den webbplats dÀr du vill visa antalet följare. GÄ till Twitter Developers webbplats och logga in med ditt Twitter-konto. Skapa en ny applikation efter inloggning.

PÄ nÀsta skÀrm ger du ett namn för din app, det kan vara vad som helst, helst titeln pÄ din webbplats. Ge en beskrivning för din app, det kan vara samma beskrivning som din blogg eller vad du vill. I webbplatsfÀltet anger du webbadressen till din WordPress-webbplats, till exempel: https://www.wpbeginner.com.

Ange samma URL i fÀltet för Äteruppringnings-URL. NÀr du har fyllt i formulÀret trycker du pÄ knappen lÀngst ner pÄ sidan.

Detta skapar en ny Twitter-app som du kan anvÀnda. Klicka pÄ knappen pÄ nÀsta sida. Detta visar dig ett meddelande om att din auktoriseringstoken har skapats.

PÄ din Twitter App-sida behöver vi bara konsumentnyckeln och konsumenthemligheten för nÀsta steg.

Kopiera följande kod och klistra in den i ditt temas funktioner.php-fil eller ett webbplatsspecifikt plugin. ErsÀtt variabler för konsumentnyckel och konsumenthemlighet med din konsumentnyckel och hemlighet.


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;
}

LÀgg nu till den hÀr raden kod i din temamall dÀr du vill visa antalet Twitter-följare. Detta kan vara i sidofÀltet.php, header.php eller i princip var du vill.


<?php 
echo getTwitterFollowers('your_screen_name');
 ?>

Det Àr allt. Du Àr fÀrdig. Vi hoppas att den hÀr artikeln hjÀlpte dig att visa Twitter-följare som text i WordPress. Det finns mÄnga andra saker du kan göra för att integrera twitter med din WordPress-webbplats. Du kan till exempel lÀgga till Twitter-kort eller visa senaste tweets i WordPress. För att fÄ fler sÄdana anvÀndbara tips kan du följa @wpbeginner pÄ Twitter.

KĂ€lla: Zvonko Biskup