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.
Features
- Get latest N tweets from a Twitter account.
- Get the tweets 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 plugins files).
- No any data will be permanently stored in your database (only transient data
if the cache is enabled). - Proudly coded by Netgloo.
Example usage
Get and show latest tweets from @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 = NetglooGetTweetsInPhp::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 "
"; } // ...
Thats 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, // Templates // Retweeted by text template 'retweeted_by_template' => ' Retweeted by {{user_name}}', // Hash tag link template 'hashtag_link_template' => '' . '#{{hashtag_text}}', // Url link template 'url_link_template' => '{{url_text}}', // User mention link template 'user_mention_link_template' => '@{{user_mention_text}}', // Media link template 'media_link_template' => '{{media_text}}' ]; $tweets = NetglooGetTweetsInPhp::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 tweets 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 Twitters API.
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 = NetglooGetTweetsInPhp::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 Twitters user_timeline
API, you should read the following docs for taking in account any APIs limitation:
- https://dev.twitter.com/rest/reference/get/statuses/user_timeline
- https://dev.twitter.com/rest/public/timelines
Contributing
For patches, bug reports, suggestions, requests for features there is a Git repository on GitHub here:
https://github.com/netgloo/get-tweets-in-php
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 or higher
Install
Put the plugin to your WordPress plugins folder and activate it from the Admin Backend.
Uninstall
Just delete the plugin from WordPress.
FAQ
-
Our custom properties (i.e. properties not from the Twitters API) are prefixed with an n. The n is the first character in Netgloo ;).