Tweets Widget
Use anonymous Loklak API OR Connect your Twitter account to this plugin and the widget will display your latest tweets on your site.
Consider an alternative
Tweets Widget shows warning signs in 2026 — compare the alternatives below before installing. It runs on 10+ sites, is rated 5/5 and was last updated 10 years ago, and scores 30/100 on our health check.
- Small user base (10+ active installs)
- Very few reviews so far
- No update in 10 years
- Only tested up to WordPress 4.5 (latest is 7.1)
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Tweets Widget stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| loklak | #1 |
| loklak api | #1 |
| oauth | >100 |
| tweets | >100 |
| >100 |
Version adoption
Share of active sites per release.
Rating breakdown
★★★★★★★★★★ 5 from 1 reviews
About Tweets Widget
From the official readme · v1.0Description
Use anonymous Loklak API OR Connect your Twitter account to this plugin and the widget will display your latest tweets on your site.
This plugin is compatible with the new Twitter API 1.1 and provides full OAuth authentication via the WordPress admin area.
Shortcodes
You can embed tweets in the body of your posts using a WordPress the shortcode [tweets].
To specify a different user’s timeline add the user attribute.
To override the default number of 5 tweets add the max attribute, e.g:
[tweets max=10 user=KhoslaSopan]<h3>Theming</h3>
For starters you can alter some of the HTML using built-in WordPress features.
See Widget Filters
and Widgetizing Themes
CSS
This plugin contains no default CSS. That’s deliberate, so you can style it how you want.
Tweets are rendered as a list which has various hooks you can use. Here’s a rough template:
.tweets {
/* style tweet list wrapper */
}
.tweets h3 {
/* style whatever you did with the header */
}
.tweets ul {
/* style tweet list*/
}
.tweets li {
/* style tweet item */
}
.tweets .tweet-text {
/* style main tweet text */
}
.tweets .tweet-text a {
/* style links, hashtags and mentions */
}
.tweets .tweet-text .emoji {
/* style embedded emoji image in tweet */
}
.tweets .tweet-details {
/* style datetime and link under tweet */
}
Custom HTML
If you want to override the default markup of the tweets, the following filters are also available:
- Add a header between the widget title and the tweets with
tweets_render_before - Perform your own rendering of the timestamp with
tweets_render_date - Render plain tweet text to your own HTML with
tweets_render_text - Render each composite tweet with
tweets_render_tweet - Override the unordered list for tweets with
tweets_render_list - Add a footer before the end of the widget with
tweets_render_after
Here’s an example of using some of the above in your theme’s functions.php file:
add_filter('tweets_render_date', function( $created_at ){
$date = DateTime::createFromFormat('D M d H:i:s O Y', $created_at );
return $date->format('d M h:ia');
}, 10 , 1 );
add_filter('tweets_render_text', function( $text ){
return $text; // <- will use default
}, 10 , 1 );
add_filter('tweets_render_tweet', function( $html, $date, $link, array $tweet ){
$pic = $tweet['user']['profile_image_url_https'];
return '<p class="my-tweet"><img src="'.$pic.'"/>'.$html.'</p><p class="my-date"><a href="'.$link.'">'.$date.'</a></p>';
}, 10, 4 );
add_filter('tweets_render_after', function(){
return '<footer><a href="https://twitter.com/me">More from me</a></footer>';
}, 10, 0 );<h3>Caching</h3>
Responses from the Twitter API are cached for 5 minutes by default. This means your new Tweets will not appear on your site in real time.
This is deliberate not only for performance, but also to avoid Twitter’s strict rate limits of 15 requests every 15 minutes.
You can override the 300 second cache by using the tweets_cache_seconds filter in your theme as follows:
This would extend the cache to 1 minute, which is the lowest value you should consider using on a live site:
add_filter('tweets_cache_seconds', function( $ttl ){
return 60;
}, 10, 1 );
This would disable the cache (not recommended other than for debugging):
add_filter('tweets_cache_seconds', function( $ttl ){
return 0;
}, 10, 1 );<h3>Emoji</h3>
If you want to disable Emoji image replacement, you can filter the replacement callback function to something empty, e.g:
add_filter('tweets_emoji_callback', function( $func ){
return '';
} );
-
or to strip Emoji characters from all tweets, return your own replacement function that returns something else, e.g:
add_filter(‘tweets_emoji_callback’, function( $func ){
return function( array $match ){
return ‘‘;
};
} );Credits
Screenshot taken with permission from http://stayingalivefoundation.org/blog
-
Portuguese translations by Leandro Dimitrio
- German translations by Florian Felsing and David Noh
- Russian translations by Andrey Yakovenko
- Dutch translations by Daniel Wichers
- Spanish translations by Pedro Pica
Notes
Be aware of Twitter’s display requirements when rendering tweets on your website.
Example code here uses PHP closures which require PHP>=5.3.0 and won’t work on older systems.
Installation
- Unzip all files to the
/wp-content/plugins/directory - Log into WordPress admin and activate the ‘Tweets’ plugin through the ‘Plugins’ menu
Once the plugin is installed and enabled you can use Loklak API or bind your plugin to a Twitter account as follows:
Use Loklak API
- Tick the ‘Loklak API’ checkbox in API authentication settings.
- Click on ‘Save settings’
OR
Use Twitter 1.1 API
- Register a Twitter application at https://dev.twitter.com/apps
- Note the Consumer key and Consumer secret under OAuth settings
- Log into WordPress admin and go to Settings > Twitter API
- Enter the consumer key and secret and click ‘Save settings’
- Click the ‘Connect to Twitter’ button and follow the prompts.
Once your site is authenticated you can configure the widget as follows:
- Log into WordPress admin and go to Appearance > Widgets
- Drag ‘Tweets’ from ‘Available widgets’ to where you want it. e.g. Main Sidebar
- Optionally configure the widget title and number of tweets to display.
Changelog
1.0.1
- Fixes FAQs
- Fixes minor URL bugs
1.0
- A whole new version!
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Tweets Widget alternatives
All loklak plugins →| Rank | Plugin | Active installs |
|---|---|---|
| 2 |
|
10+ |
FAQ
Tweets Widget: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Sep 28, 2026
Is Tweets Widget free?
Yes. Tweets Widget is free to download and use from the official WordPress.org plugin directory.
Is Tweets Widget safe to use in 2026?
Tweets Widget shows warning signs in 2026 — compare the alternatives below before installing. It runs on 10+ sites, is rated 5/5 and was last updated 10 years ago, and scores 30/100 on our health check.
How many websites use Tweets Widget?
Tweets Widget is active on 10+ WordPress websites and has been downloaded 3,295 times since it launched in August 2016. It was downloaded 157 times in the last 30 days.
Does Tweets Widget work with WordPress 7.1?
Tweets Widget is officially tested up to WordPress 4.5.33, while the latest release is 7.1.2. It may still work, but try it on a staging site first.
When was Tweets Widget last updated?
The latest version, 1.0, was released on August 29, 2016 (10 years ago).
Who makes Tweets Widget?
Tweets Widget is developed and maintained by fossasia.
What are the best alternatives to Tweets Widget?
The most popular alternatives to Tweets Widget are Recent Tweet (10+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card


