Twitter-Feed in WordPress mit der Twitter-1.1-API darstellen

Twitter hat die alte 1.0er API abgeschafft, viele PlugIns und Scripte zeigen nun die Twitter-Feed nicht mehr an. Nachfolgend ein sehr simples Script für WordPress-Nutzer um mit der Twitter-API Version 1.1 wieder den Feed darstellen zu können.

Demo unter www.socialhornet.de oder www.mainflow.de

1. Eine neue Twitter-APP registrieren und Access-Token erstellen
https://dev.twitter.com/apps –> Create a new application

2. In der functions.php des benutzten Themes unterbringen und die mit „XXXX“ markierten Stellen anpassen.

// Display out latest Tweets using the Twitter 1.1 API -- Register a new App on Twitter
function display_latest_tweets($no_tweets){
 
    @require_once 'twitteroauth/twitteroauth.php';
 
     $twitterConnection = new TwitterOAuth(
        'XXXX',   // Consumer Key
        'XXXX',   // Consumer secret
        'XXXX',   // Access token
        'XXXX'   // Access token secret
        );
 
    $twitterData = $twitterConnection->get(
        'statuses/user_timeline',
          array(
            'screen_name'     => 'XXXX',   // Your Twitter Username without @
            'count'           => $no_tweets,   // Number of Tweets to display (or via php-req)
            'exclude_replies' => true
          )
        );  
 
        if($twitterData && is_array($twitterData)) {
        ?>
            <div id="tweets_list">
                <ul>
                    <?php foreach($twitterData as $tweet): ?>
                    <li>
                        <span>
                        <?php
                        $latestTweet = $tweet->text;
                        $latestTweet = preg_replace('/http:\/\/([a-z0-9_\.\-\+\&\!\#\~\/\,]+)/i', '<a href="http://$1" target="_blank">http://$1</a>', $latestTweet);
            echo $latestTweet;
                        ?>
                        </span>
                        <?php
                        $twitterTime = strtotime($tweet->created_at);
                        $timeAgo = ago($twitterTime);
                        ?>
                        <div class="meta"><a href="http://twitter.com/<?php echo $tweet->user->screen_name; ?>/statuses/<?php echo $tweet->id_str; ?>" class="jtwt_date"><?php echo $timeAgo; ?></a></div>
                    </li>
                    <?php endforeach; ?>
                </ul>
            </div>
    <?php
    }
}

3. Die zwei Twitter-OAuth-Dateien von GitHub laden (https://github.com/abraham/twitteroauth/archive/master.zip) und in den Theme-Ordner mit dem Ordner „twitteroauth“ hochladen. Info: Also direkt innerhalb des Theme-Ordners (auf Höhe des functions.php) einen neuen Ordner namens „twitteroauth“ erstellt und die beiden Dateien aus dem GitHub-Link dort einfügen.

4. An der gewünschten Stelle im Theme bzw. im Template die Abfrage einbauen, wo die Tweets aus dem Twitter-Feed angezeigt werden sollen. Die Zahl in Klammern steuert die Anzahl der anzuzeigenden Tweets.

<?php echo display_latest_tweets(3); ?>

Bei Fragen, fragen.
Viel Spaß (:

(Quelle: Mit Snippet von wpinsite.com)

  • Johann

    Prima, das klappte bei mir sofort. vielen dank

  • Tommek

    Vielen Dank genau danach habe ich gesucht.