{"id":120702,"date":"2013-09-10T16:15:34","date_gmt":"2013-09-10T20:15:34","guid":{"rendered":"http:\/\/wpmu.org\/?p=120702"},"modified":"2013-09-10T17:47:31","modified_gmt":"2013-09-10T21:47:31","slug":"wordpress-embed-tweets-plugin","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/wordpress-embed-tweets-plugin\/","title":{"rendered":"3 Great Plugins for Embedding Tweets into Your WordPress Site"},"content":{"rendered":"<p>By this point, Twitter is an inescapable fact of online life &#8211; you may not use it yourself, but there&#8217;s a whole world of information being traded and discussed out there that your readers can benefit from.<\/p>\n<p>Embedding tweets into articles on your WordPress site is a great way of connecting what you&#8217;re saying to the broader discussion while making sure readers don&#8217;t have to head out to an external site to get that information.<\/p>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full-wide\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-121353\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/twitter-eggs1.jpg\" alt=\"A picture of eggs emblazoned with the Twitter logo.\" width=\"800\" height=\"375\" \/><\/div>\n<\/div>\n<p>WordPress have made this even easier by adding Twitter to their oEmbed whitelist, meaning that all it takes to embed a tweet in your post is to paste the tweet\u2019s URL in a new line, as long as your site is auto-embed enabled. (As of 3.5, all WordPress sites automatically have auto-embed enabled, with no setting to turn them off. For versions older than 3.5, auto-embed can be found in Administration &gt; Settings &gt; Media.)<\/p>\n<p>Across multiple tweets, though, this can become a clunky and space-consuming method &#8211; especially with the image previews that Twitter automatically throws into the embed code. Thankfully, for users who want to curate a collection of tweets into the one WordPress post, there are other options that are readily available and easy to use.<\/p>\n<div class=\"image-grid cgrid-row\"><\/div>\n<div class=\"image-grid cgrid-row\"><\/div>\n<h2>Using the In-built Twitter Widget<\/h2>\n<figure id=\"attachment_120844\" class=\"wp-caption alignleft\" data-caption=\"true\"><a rel=\"lightbox[120702]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/twitter-widget-corgi.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-ratio-2-3 wp-image-120844\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/twitter-widget-corgi-312x240.png\" alt=\"An example of the in-built Twitter widget service.\" width=\"312\" height=\"240\" \/><\/a><figcaption class=\"wp-caption-text\">Also, the default widget search is for #corgi, which is nice.<\/figcaption><\/figure>\n<p>Twitter actually provide their own service to build a widget that&#8217;s ready to put into any WordPress post out of the box. Head to their <a href=\"https:\/\/twitter.com\/settings\/widgets\/new\" target=\"_blank\">widget creation page<\/a>\u00a0and choose the category you want (user timeline, favorites, a list, or a search) and work from there. The resulting code can be inserted into the plain-text editor of a post, but if you notice anything you\u2019d like to tweak once it\u2019s been implemented, you have to return to the creation page and make a new one.<\/p>\n<p>(Thankfully, they provide an option to turn off auto-expanding images, and even include a &#8220;safe mode&#8221; which can filter out profanity and media marked as including sensitive content.)<\/p>\n<h2><\/h2>\n<h2><b>Tweet Blender<\/b><\/h2>\n<p><a href=\"http:\/\/wordpress.org\/plugins\/tweet-blender\/\" target=\"_blank\">Tweet Blender<\/a> is an excellent plugin that sets up a widget streaming tweets across multiple defined search terms. By throwing it in a post, you can keep readers updated on the latest discussion while also keeping them on your site.<\/p>\n<figure id=\"attachment_120752\" class=\"wp-caption alignright\" data-caption=\"true\"><a rel=\"lightbox[120702]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/tweet-blender-filter-test.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-ratio-2-3 wp-image-120752\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/tweet-blender-filter-test-312x412.png\" alt=\"Tweet Blender's filters failing to allow only English tweets.\" width=\"312\" height=\"412\" \/><\/a><figcaption class=\"wp-caption-text\">Tweet Blender&#8217;s filters don&#8217;t always live up to their promise.<\/figcaption><\/figure>\n<p>Inserting a widget into your post is a simple matter of placing a &lt;form&gt; into the plain-text editor of your post and editing the search configurations directly from the HTML &#8211; use the main widget settings to filter out replies, retweets, and the spam that inevitably shows up in any popular topic. (These filters aren\u2019t always that effective, though \u2013 check out the picture for an example.)<\/p>\n<p>The plugin also caters for a universal blacklist, but doesn\u2019t allow you to customise blacklists by individual widget \u2013 to ensure your stream displays exactly what you need, you\u2019ll just have to rely on Twitter\u2019s handy list of <a href=\"https:\/\/dev.twitter.com\/docs\/using-search\" target=\"_blank\">Search Operators<\/a>. Widgets automatically refresh the search every 60 seconds, but to save API requests from multiple readers accessing each search term, Tweet Blender collects a cache of tweets that can be individually cleared at will from the settings.<\/p>\n<h2><b>Fetch Tweets<\/b><\/h2>\n<p><a href=\"http:\/\/wordpress.org\/plugins\/fetch-tweets\/\" target=\"_blank\">Fetch Tweets<\/a> is another plugin that streams Twitter searches &#8211; but instead of relying on your Twitter account to process oAuth requests like Tweet Blender, it looks to connect directly to your Twitter, requiring Consumer and Access codes attainable by creating an in-platform app. (Even if you\u2019ve never done this before, it is a fairly straightforward process, but the Fetch Tweets FAQ does little more to help you through it than link you to the page and set you free.)<\/p>\n<figure id=\"attachment_121352\" class=\"wp-caption alignleft\" data-caption=\"true\"><a rel=\"lightbox[120702]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/fetch-tweets-comparison.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-ratio-2-3 wp-image-121352\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/fetch-tweets-comparison-312x297.png\" alt=\"A comparison of a dedicated Fetch Tweets page with an embedded Twitter timeline.\" width=\"312\" height=\"297\" \/><\/a><figcaption class=\"wp-caption-text\">Top: A dedicated Fetch Tweets page. Bottom: The same rule in a post. (Both screencaps using Twenty Thirteen.)<\/figcaption><\/figure>\n<p>Unlike Tweet Blender\u2019s all-in-one-post widget style, Fetch Tweets gives you the advantage of being able to construct individual search rules which can then be identified using their ID number, or categorised under different tags. Each rule creates its own published post that can be linked to directly or embedded in a different post using shortcode \u2013 which can itself be used to mix and match IDs or tags.<\/p>\n<p>This leads to a wealth of options for tweaking every search. Want to bring together searches on \u201cWordPress\u201d and \u201cdevelopers\u201d? Make them both the terms for the one rule. Or make them separate rules, so you can keep them for discrete searches, then put both of their IDs in the one shortcode. Or tag both rules as \u201cWPDEV\u201d and use the tag shortcode to bring together \u201cWPDEV\u201d and \u201cBPDEV\u201d tweets.<\/p>\n<p>On the style side, Fetch Tweets also provides you with templates that can be modified through their stylesheets and PHP to tweak the look of whatever you&#8217;re preparing.<\/p>\n<figure id=\"attachment_121354\" class=\"wp-caption alignnone\" data-caption=\"true\"><a rel=\"lightbox[120702]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/fetch-tweets-rule-management.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-ratio-large wp-image-121354\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/fetch-tweets-rule-management-700x282.png\" alt=\"A capture of the Rule Management page for Fetch Tweets.\" width=\"700\" height=\"282\" \/><\/a><figcaption class=\"wp-caption-text\">Fetch Tweets&#8217; Rule Management page.<\/figcaption><\/figure>\n<p><b><br \/>\n<\/b><b><\/b><\/p>\n<p>Rotating Tweets<\/p>\n<p>If space is at an absolute premium in your posts, but you still want to provide readers with a bit of variety in your embedded tweets, give <a href=\"http:\/\/wordpress.org\/plugins\/rotatingtweets\/\" target=\"_blank\">Rotating Tweets<\/a> a look. This plugin also streams Twitter searches, but with a twist \u2013 it only displays one tweet at a time in an animated \u201crotation\u201d.<\/p>\n<p>This is another plugin that works through connecting to Twitter as an app \u2013 which means that if you were thinking about using it in conjunction with Fetch Tweets, you\u2019re out of luck, since the oAuth conflict causes a fatal error. However, it also does coach you through the app creation process on its plugin page, which is convenient for anyone who\u2019s never done it before.<\/p>\n<p>Rotating Tweets runs off shortcode configured with parameters right there in the post, including setting the timeout length for each tweet, the ability to turn off retweets and replies, and the option to mess with whether or not it displays bundled Twitter information like timestamp and screennames. The animation (and the subsequent sense of constant movement in your posts) may not be to everyone&#8217;s taste, though.<\/p>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><a rel=\"lightbox[120702]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/rotating-tweets-example.gif\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-120850\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/rotating-tweets-example.gif\" alt=\"An image showing the animation used in Rotating Tweets.\" width=\"566\" height=\"216\" \/><\/a><\/div>\n<\/div>\n<h2>Other Options<\/h2>\n<p>The following plugins throw up compatibility issues with the latest WordPress install, so unless you&#8217;re running a version older than the listed compatibility, it&#8217;s best not to bother with them. But we&#8217;ll go ahead and include them here in case they decide to update them in the future. As <a href=\"http:\/\/blog.livefyre.com\/livefyre-acquires-storify\/\" rel=\"noopener\" target=\"_blank\">Livefyre has just acquired Storify<\/a>, for example, that&#8217;s a distinct possibility.<\/p>\n<p><b>Storify<\/b><\/p>\n<p><span style=\"text-decoration: underline;\">Compatible with:<\/span>\u00a03.4.2 and older<\/p>\n<p>For anyone looking to bring together a specific collection of tweets, whether you\u2019re curating a hashtag or archiving a conversation, <a href=\"http:\/\/wordpress.org\/plugins\/storify\/\" target=\"_blank\">Storify<\/a> is an excellent tool \u2013 and can be used to combine these tweets with other content in the one package.<\/p>\n<figure id=\"attachment_120871\" class=\"wp-caption alignright\" data-caption=\"true\"><a rel=\"lightbox[120702]\" class=\"blog-thumbnail\" href=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/storify-sample-corgis.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-ratio-2-3 wp-image-120871\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2013\/09\/storify-sample-corgis-312x421.png\" alt=\"A sample of a Storify featuring corgis.\" width=\"312\" height=\"421\" \/><\/a><figcaption class=\"wp-caption-text\">Being able to pick and choose which tweets to display is also a big plus.<\/figcaption><\/figure>\n<p>The Storify plugin connects directly with your account on the <a href=\"http:\/\/www.storify.com\" target=\"_blank\">Storify website<\/a>, letting you insert stories you\u2019ve already made, or make stories directly from the WordPress dashboard. These stories are drag-and-drop collections of social media content from around the web, including tweets, Facebook posts, YouTube videos, and Flickr and Instagram photos.<\/p>\n<p>If your WordPress install is too new to support the plugin properly, though, you\u2019re not out of luck. For a story you\u2019ve created, you can use the service to export it directly to your website \u2013 although Storify will ask for your admin details. You can also try directly implanting the embed code available on the Storify website into the plain-text editor of a post. (If neither of these work, try consulting the\u00a0<a href=\"http:\/\/feedback.storify.com\/knowledgebase\/articles\/125-what-are-my-options-for-using-storify-with-wordpre\" target=\"_blank\">Storify Knowledge Base<\/a>.)<\/p>\n<p><b>Inline Tweets<\/b><\/p>\n<p><span style=\"text-decoration: underline;\">Compatible with:<\/span> 3.5.2 and older<\/p>\n<p><a href=\"http:\/\/wordpress.org\/plugins\/inline-tweets\/\" target=\"_blank\">Inline Tweets<\/a> is a step up in style from Tweet Blender, but a big drop in functionality from both Tweet Blender and Fetch Tweets, only letting you stream tweets from a particular user or embed a single status update.<\/p>\n<p>Instead of using Twitter\u2019s script, which includes link excerpts and all the regular Twitter functions available to logged-in Twitter users, Inline Tweets parcels &lt;div&gt; or &lt;li&gt; elements with CSS class attributes that can be modified individually in a style sheet &#8211;\u00a0enabling you to hide irrelevant classes, like a tweeter&#8217;s username in a timeline composed solely of their tweets.<\/p>\n\n<p>Image credits: <a href=\"http:\/\/www.flickr.com\/photos\/garrettheath\/9359575921\/sizes\/m\/in\/photostream\/\" target=\"_blank\">Feature image: Garrett Heath<\/a>, <a href=\"http:\/\/profiles.wordpress.org\/mpntod\/\" target=\"_blank\">Rotating Tweets image: mpntod<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Easily insert Twitter searches and timelines directly into your WordPress posts! <\/p>\n","protected":false},"author":262401,"featured_media":121353,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[4],"tags":[982],"tutorials_categories":[],"class_list":["post-120702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-plugins","tag-social-media"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/120702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/262401"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=120702"}],"version-history":[{"count":1,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/120702\/revisions"}],"predecessor-version":[{"id":216373,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/120702\/revisions\/216373"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/121353"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=120702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=120702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=120702"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=120702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}