Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man visar antal Twitter-följare och mer i WordPress

Vi har tidigare skrivit om en kod som låter dig visa antalet Twitter-följare som bidragits av Rarst. I den här artikeln kommer vi att dela en mer avancerad och elegantare kod som låter dig visa antalet Twitter-följare i WordPress. Återigen bidrog Rarst med detta skript.

Funktioner

Den här funktionen är inte begränsad till antalet följare. Den kan hämta vilket icke-nästat värde som helst som returneras av Twitter users/show API-metoden.

Den har två nivåer av cache:

  • frågade värden lagras som en array i databasen, med hjälp av WP-alternativ, för $interval sekunder;
  • API-svar lagras i minnet så att du kan fråga ett valfritt antal fält, utan att generera flera API-anrop.

Detta bör vara säkert att använda för flera värden och flera användare samtidigt, utan att behöva oroa sig för att uttömma API-gränsen.

Handledning

Öppna först din temas functions.php-fil och lägg till följande kod:

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

Användning

När du har klistrat in funktionen kan du nu använda koden i vilken WordPress-mallfil du vill. Klistra helt enkelt in följande kod:

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

Koden ovan kommer att visa något i stil med detta:

WPBeginner har 5846 följare efter 1300 uppdateringar.

Källa: Rarst

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

10 CommentsLeave a Reply

  1. Kan någon förklara var jag anger mitt Twitter-användarnamn, snälla? För jag kan verkligen inte se var... Och jag får det inte att fungera heller... Oavsett vad... Detta ger mig bara inte användarnamnet, inte ens om jag lämnar det helt grundläggande som det är nu, får jag inget svar alls gällande användarnamnet... det visar bara: "har följare efter uppdateringar"...
     
    Det är allt... inget annat...

  2. detta är en bra kod. jag undrar om det finns en möjlighet att skapa en funktion för inbäddning i text (något i stil med ). downhill_mc

  3. kan du snälla berätta för mig hur jag ska lägga till dessa koder i min anpassade Twitter-bild som du visar oss i ditt exempel.

  4. Glad you found it useful. :) Old snippet still works but it got kinda outdated and spread around a lot – it was getting hard to answer questions and correct outdated parts all the time.

    Den här är lite mer omfattande, men den har mycket utökad funktionalitet för att visa mer data och för olika användarnamn samtidigt.

    Jag har också för avsikt att underhålla den mer ordentligt så feedback och förslag välkomnas på dess sida på min blogg.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.