Como Exibir Contagem de Seguidores do Twitter e Mais no WordPress

Já escrevemos anteriormente sobre um código que permite exibir a contagem de seguidores do Twitter, que foi contribuído por Rarst. Neste artigo, compartilharemos um código mais avançado e elegante que permite exibir a contagem de seguidores do Twitter no WordPress. Mais uma vez, este script também foi contribuído por Rarst.

Recursos

Esta função não se limita à contagem de seguidores. Ela pode buscar qualquer valor não aninhado retornado pelo método da API Twitter users/show.

Ele tem dois níveis de cache:

  • valores consultados são armazenados como array no banco de dados, usando opções do WP, por $interval segundos;
  • respostas da API são armazenadas na memória para que você possa consultar qualquer número de campos, sem gerar múltiplas requisições à API.

Isso deve ser seguro para usar para múltiplos valores e múltiplos usuários ao mesmo tempo, sem se preocupar em esgotar o limite da API.

Tutorial

Primeiro, abra o arquivo functions.php do seu tema e adicione o seguinte código:

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

Uso

Depois de colar a função, agora você pode usar o código em qualquer arquivo de template do WordPress que desejar. Simplesmente cole o seguinte código:

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

O código acima exibirá algo como isto:

WPBeginner tem 5846 seguidores após 1300 atualizações.

Fonte: Rarst

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

10 CommentsLeave a Reply

  1. Alguém me explica onde coloco meu nome de usuário do Twitter, por favor? Porque eu realmente não consigo ver onde... E também não consigo fazer funcionar... Não importa o quê... Isso simplesmente não me dá o nome de usuário, nem mesmo deixando-o completamente básico como está agora, não tenho resposta alguma sobre o nome de usuário... ele apenas exibe: “tem seguidores após atualizações”...
     
    É isso... nada mais...

  2. este é um ótimo código. eu me pergunto se há uma possibilidade de criar uma função para incorporar em texto (algo como ). 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.

    Este é um pouco mais volumoso, mas tem funcionalidade muito estendida para mostrar mais dados e para diferentes nomes de usuário ao mesmo tempo.

    Também pretendo mantê-lo de forma mais adequada, então feedback e sugestões são bem-vindos em sua página no meu blog.

Deixar uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.