=== Get Tweets in PHP === Contributors: azanelli Tags: twitter, tweet, tweets, latest-tweets, developers Requires at least: 4.0 Tested up to: 4.4 Stable tag: trunk License: GPLv2 or later Get latest tweets from a Twitter account with a couple of lines of PHP, and do anything you want with them. == Description == This plugin will add the PHP class `GetTweetsInPhp`. You can use this class as described below for retrieving **latest tweets** from a Twitter account, then handle the tweets as you want in your PHP code. **Note**: you should create a Twitter app before using this plugin. You can do it from here: [http://apps.twitter.com](http://apps.twitter.com). = Features = * Get latest N tweets from a Twitter account. * Get the tweet's text formatted as HTML (with links for each entities). * Cache support. * Made for developers. * Really light and simple. * Works with the v1.1 Twitter API. * Trivial install/uninstall (only add/remove the plugin's files). * No any data will be permanently stored in your database (only transient data if the cache is enabled). * Proudly coded by [Netgloo](http://netgloo.com/en). = Example usage = Get and show latest tweets from 'http://twitter.com/netglooweb': // Set configurations $configs = [ // Set here tokens from your Twitter's app 'consumer_key' => 'CONSUMER_KEY', 'consumer_secret' => 'CONSUMER_SECRET', // The Twitter account name 'screen_name' => 'netglooweb', // The number of tweets 'count' => 5 ]; // Get latest tweets using the function get_tweets $tweets = \Netgloo\GetTweetsInPhp::get_tweets($configs); // ... // For each tweet show the HTML text and the attached image foreach ($tweets as $tweet) { echo "

"; echo $tweet->n_html_text; if ($tweet->n_has_media_photo) { echo ""; } echo "

"; } // ... That's all! Have fun! = Configurations = The `get_tweets()` function takes an array of configurations: $configs = [ // --- Required --- // The tokens from your Twitter's app 'consumer_key' => '...', 'consumer_secret' => '...', // The Twitter account name 'screen_name' => '...', // --- Optional --- // The number of tweets 'count' => 20, // Include also the retweets 'include_rts' => true, // In the HTML text will be showed "Retweeted by ..." if the tweet // is a retweet 'show_retweeted_by' => true, // Enable the cache // It is recommended to activate the cache, when you put live // your website, in order to avoid to reach the Twitter's api rate // limit of 300 requests / 15-min. 'cache_enabled' => false, // Cache expiration (in seconds) // Increase the value to optimize the website's speed, decrease // the value if you want a more real-time behaviour (but not // less than 4 seconds to avoid to reach the rate limit). 'cache_expiration' => 60 ]; $tweets = \Netgloo\GetTweetsInPhp::get_tweets($configs); = Returned values = The `get_tweets()` function will return an Array of tweets. On each tweet object are available these properties: * `n_html_text` (String) The tweet text formatted as HTML, with links on each entities. * `n_is_retweeted` (Boolean) True if the curret tweet is a retweet. * `n_has_media_photo` (Boolean) True if the current tweet has an attached photo. * `n_media_photo_url` (String) The url of the tweet's attached photo. * `n_media_photo_urls` (Array) If the tweet has more than one attached photos this properties contains all the urls. Other available properties are those returned from the [user_timeline Twitter's API](https://dev.twitter.com/rest/reference/get/statuses/user_timeline). These are some useful ones: * `created_at` * `retweet_count` * `user->name` * `user->screen_name` * `user->profile_image_url` If the properties `n_is_retweeted` is true the current tweet is a "re-tweet" and the `retweeted_status` object is available: * `retweeted_status->user->name` * `retweeted_status->user->screen_name` * `retweeted_status->retweet_count` **Example** This code use some of the above properties: // ... $tweets = \Netgloo\GetTweetsInPhp::get_tweets($configs); foreach ($tweets as $tweet) { echo $tweet->created_at . "
"; echo $tweet->n_html_text . "
"; if ($tweet->n_has_media_photo) { echo $tweet->n_media_photo_url . "
"; } } // ... = Limitations = Since we rely on the Twitter's `user_timeline` API, you should read the following docs for taking in account any API's limitation: * https://dev.twitter.com/rest/reference/get/statuses/user_timeline * https://dev.twitter.com/rest/public/timelines == Installation == = Requirements = To work this plugin, following component need to be installed in your server. * PHP version 5.3 or higher * cURL * WordPress 4.2.2 = Install = Put the plugin to your Wordpress' plugins folder and activate it from the Admin Backend. = Uninstall = Just delete the plugin from Wordpress. == Frequently Asked Questions == = Why the "n" before your custom tweet's properties? = Our custom properties (i.e. properties not from the Twitter's API) are prefixed with an "n". The "n" is the first character in "Netgloo" ;).