Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak wyświetlić liczbę obserwujących na Twitterze i więcej w WordPress

Pisaliśmy wcześniej o kodzie, który pozwala wyświetlać liczbę obserwujących na Twitterze, który został udostępniony przez Rarst. W tym artykule udostępnimy bardziej zaawansowany i bardziej elegancki kod, który pozwoli Ci wyświetlać liczbę obserwujących na Twitterze w WordPressie. Ponownie, ten skrypt został również udostępniony przez Rarst.

Funkcje

Ta funkcja nie ogranicza się do liczby obserwujących. Może pobrać dowolną nie zagnieżdżoną wartość zwróconą przez metodę API Twitter users/show.

Posiada dwa poziomy pamięci podręcznej:

  • zapytane wartości są przechowywane jako tablica w bazie danych, przy użyciu opcji WP, przez $interval sekund;
  • Odpowiedzi API są przechowywane w pamięci, dzięki czemu możesz zapytać dowolną liczbę pól, bez generowania wielu żądań API.

Powinno to być bezpieczne w użyciu dla wielu wartości i wielu użytkowników jednocześnie, bez obawy o wyczerpanie limitu API.

Samouczek

Najpierw otwórz plik functions.php swojego motywu i dodaj następujący 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];
    }

Użycie

Po wklejeniu funkcji możesz teraz użyć kodu w dowolnym pliku szablonu WordPressa. Po prostu wklej poniższy kod:

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

Powyższy kod wyświetli coś takiego:

WPBeginner ma 5846 obserwujących po 1300 aktualizacjach.

Źródło: Rarst

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

10 CommentsLeave a Reply

  1. Czy ktoś mi wyjaśni, gdzie mam wpisać swoją nazwę użytkownika na Twitterze? Bo naprawdę jej nie widzę… I nie mogę sprawić, żeby działała… Cokolwiek bym nie zrobił… To po prostu nie daje mi nazwy użytkownika, nawet jeśli zostawię ją całkowicie podstawową tak jak jest teraz, nie dostaję żadnej odpowiedzi na temat nazwy użytkownika… po prostu wyświetla: „ma obserwujących po aktualizacjach”…
     
    To wszystko… nic więcej…

  2. to jest świetny kod. zastanawiam się, czy istnieje możliwość stworzenia funkcji do osadzania w tekście (coś w stylu ). downhill_mc

  3. 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.

    Ten jest nieco bardziej rozbudowany, ale ma znacznie rozszerzoną funkcjonalność do wyświetlania większej ilości danych i dla różnych nazw użytkowników jednocześnie.

    Zamierzam również utrzymywać go bardziej poprawnie, więc opinie i sugestie są mile widziane na jego stronie na moim blogu.

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.