Integrare Twitter în WordPress: afișarea numărului de urmăritori direct pe blog

Dorești să afișezi direct în format text numărul de utilizatori care te urmăresc pe Twitter (în prezent X)? Afișarea acestei statistici sub formă de text pur îți oferă libertate deplină de stilizare prin CSS, integrându-se perfect în designul temei tale, fără să depinzi de widgeturi externe greoaie.

Cum funcționează preluarea și salvarea în memoria cache

Interogarea directă a serverelor externe la fiecare afișare de pagină ar încetini semnificativ încărcarea blogului și ar depăși rapid limitele impuse de API (rate limiting). Soluția optimă constă în salvarea numărului de urmăritori în baza de date WordPress (prin tabela de opțiuni wp_options) și actualizarea acestuia la un interval prestabilit — de exemplu, o dată pe oră (3600 de secunde).

Codul PHP pentru preluarea numărului de urmăritori

Creează un fișier numit twitter.php în directorul temei tale (sau în rădăcina instalării) și adaugă următorul fragment de cod:

<?php
// Preluăm setările salvate în baza de date WordPress
$tw = get_option( 'twitterfollowerscount' );

// Verificăm dacă a trecut mai mult de o oră (3600 secunde) de la ultima actualizare
if ( ! is_array( $tw ) || empty( $tw['lastcheck'] ) || $tw['lastcheck'] < ( time() - 3600 ) ) {
    $screen_name = 'dexblog'; // Înlocuiește cu numele tău de utilizator
    $xml_url     = 'http://twitter.com/users/show.xml?screen_name=' . urlencode( $screen_name );

    $xml = @file_get_contents( $xml_url );
    if ( $xml && preg_match( '/<followers_count>([0-9]+)<\/followers_count>/', $xml, $match ) ) {
        $tw['count'] = intval( $match[1] );
    }

    $tw['lastcheck'] = time();
    update_option( 'twitterfollowerscount', $tw );
}

// Afișăm numărul de urmăritori
echo isset( $tw['count'] ) ? esc_html( $tw['count'] ) : '0';
?>

Cum afișezi numărul în fișierele temei

În fișierul temei în care vrei să apară statistica (de exemplu în sidebar.php, header.php sau footer.php), include fișierul creat folosind funcția PHP corespunzătoare:

<p>Alătură-te celor <strong><?php include( TEMPLATEPATH . '/twitter.php' ); ?></strong> urmăritori de pe Twitter!</p>

Recomandare modernă: utilizarea API-ului Transients din WordPress

În dezvoltarea modernă pentru WordPress, cel mai curat mod de a reține date temporare este folosirea funcțiilor native get_transient() și set_transient(), care gestionează automat expirarea fără a mai fi nevoie să salvezi manual marcajul temporal (timestamp-ul):

function dexblog_get_twitter_followers( $username ) {
    $transient_key = 'tw_followers_' . sanitize_key( $username );
    $followers     = get_transient( $transient_key );

    if ( false === $followers ) {
        // Aici se interoghează API-ul Twitter / X cu un token de acces
        // $followers = ... valoarea obținută
        set_transient( $transient_key, $followers, HOUR_IN_SECONDS );
    }

    return $followers;
}

Lasă un comentariu