{"id":46653,"date":"2009-09-16T10:53:36","date_gmt":"2009-09-16T10:53:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/reliable-twitter\/"},"modified":"2012-09-06T02:26:10","modified_gmt":"2012-09-06T02:26:10","slug":"reliable-twitter","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/reliable-twitter\/","author":1484071,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.1","stable_tag":"2.2.1","tested":"3.4.2","requires":"2.8","requires_php":"","requires_plugins":"","header_name":"Reliable Twitter","header_author":"David Hollander","header_description":"","assets_banners_color":"b1c9dd","last_updated":"2012-09-06 02:26:10","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/www.soapboxdave.com\/reliabletwitter\/","header_plugin_uri":"http:\/\/www.soapboxdave.com\/reliabletwitter\/","header_author_uri":"http:\/\/www.soapboxdave.com\/","rating":0,"author_block_rating":0,"active_installs":20,"downloads":14670,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog","other_notes"],"tags":[],"upgrade_notice":{"2.2.1":"<p>Removing incorrect console.log() call which could cause error if no console installed for end user<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":"482119","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.01","1.1","1.2","1.3","2.0","2.1","2.1.1","2.1.2","2.2","2.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1538952","resolution":"1","location":"plugin"}},"screenshots":{"1":"The options screen."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[221,144,150,159,162],"plugin_category":[43,56,59],"plugin_contributors":[79354],"plugin_business_model":[],"class_list":["post-46653","plugin","type-plugin","status-closed","hentry","plugin_tags-ajax","plugin_tags-caching","plugin_tags-google","plugin_tags-twitter","plugin_tags-widget","plugin_category-customization","plugin_category-social-and-sharing","plugin_category-utilities-and-tools","plugin_contributors-sparkweb","plugin_committers-sparkweb"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/reliable-twitter_b1c9dd.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/reliable-twitter\/trunk\/screenshot-1.png?rev=1538952","caption":"The options screen."}],"raw_content":"<!--section=description-->\n<p>ATTENTION: Twitter has <a href=\"https:\/\/dev.twitter.com\/docs\/api\/1.1\/overview#JSON_support_only\">announced<\/a> that it is dropping support for RSS feeds on March 5, 2013. As such, it is not recommended that you use Reliable Twitter as it will not function properly after Twitter removes RSS feed support.<\/p>\n\n\n\n<p>Adds a sidebar widget to display Twitter updates using the more-reliable Google Ajax API.<\/p>\n\n<p>The Problem: On many blogs, I need to add a little twitter badge to a front-page or sidebar. There are many, many great apps out there to do this including Twitter's own JavaScript badge. The problem is that Twitter's feed is very unreliable and only works about 50% of the time. That's completely unacceptable.<\/p>\n\n<p>The Solution: After much looking around, I've hit upon a simple method for displaying tweets using Google's Ajax API. Google's reliable servers do all the caching for us and life is good again.<\/p>\n\n<p>I used the excellent <a href=\"http:\/\/wordpress.org\/extend\/plugins\/twitter-widget\/\">Twitter Widget<\/a> app by Sean Spalding as a base and the Google Ajax concept by <a href=\"http:\/\/blog.thoughtwax.com\/2007\/04\/a-more-reliable-twitter-badge\">Emmett Connolly<\/a>.<\/p>\n\n<!--section=installation-->\n<p>Copy the folder to your WordPress \n'<em>\/wp-content\/plugins\/<\/em>' folder.<\/p>\n\n<ol>\n<li>Activate the '<em>Reliable Twitter<\/em>' plugin in your WordPress admin '<em>Plugins<\/em>'<\/li>\n<li>Go to '<em>Appearance \/ Widgets<\/em>' in your WordPress admin area.<\/li>\n<li>Drag the '<em>Reliable Twitter<\/em>' widget to your sidebar.<\/li>\n<li>Configure the options:\n\n<ol>\n<li><em>Account<\/em>: Your Twitter account ID, REQUIRED.<\/li>\n<li><em>Title<\/em>: The heading you want to appear above your Twitters in the sidebar, defaults to 'Twitter Updates'.<\/li>\n<li><em>Show<\/em>: The number of Tweets shown, defaults to 3.<\/li>\n<li><em>Hide Replies<\/em>: Check if you don't want to show your replies to others.<\/li>\n<li><em>Link Target<\/em>: The default link target, defaults to '_blank'.<\/li>\n<li><em>Follow Me Text<\/em>: Text for a follow-me link after your twitter feed, optional and defaults to nothing.<\/li>\n<li><em>Twitter Username<\/em>: Only needed if you enter follow me text, used for the link. Defaults to nothing.<\/li>\n<li><em>Google API Key<\/em>: Your Google API key if you wish to include it, completely optional and not required in any way.<\/li>\n<li><em>Loading Image<\/em>: Shows an animated icon while the feed is loading.<\/li>\n<\/ol><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>My username isn't working. What's wrong?<\/dt>\n<dd><p>You need to use your Twitter ID # which is different from your username. Use <a href=\"http:\/\/www.idfromuser.com\/\">http:\/\/www.idfromuser.com\/<\/a> to look up your user ID.<\/p><\/dd>\n<dt>I'm getting Feed Loading Errors<\/dt>\n<dd><p>See the <a href=\"http:\/\/www.soapboxdave.com\/reliabletwitter\/#troubleshooting\">Troubleshooting FAQ<\/a> for some tips on fixing this problem.<\/p><\/dd>\n<dt>Why is my feed showing the three oldest entries instead of the three most current?<\/dt>\n<dd><p>We've run into this a few times. It seems to have to do with the way that the Google Feedfetcher grabs the feed for the first time. One thing that seems to fix this is to change your show # to 10 or 20, save, load the app, then change it back to the # you want. This somehow seems to refresh Google's caching.<\/p><\/dd>\n<dt>I don't use widgets. Can I just add this to my template directly?<\/dt>\n<dd><p>Yup! (And I don't blame you, widgets can be hard to deal with). Just put this code in your template:<\/p>\n\n<pre><code>&lt;?php\nif (function_exists(reliabletwitter)) reliabletwitter(11469962);\n?&gt;\n<\/code><\/pre>\n\n<p>...and replace '11469962' with your Twitter ID #. This will display the last three tweets on your page. There are some optional fields that you can pass in as well. Here are the available parameters:<\/p>\n\n<pre><code>&lt;?php\nif (function_exists('reliabletwitter')) reliabletwitter($accountid, $show, $title, $target, $googleapikey, $hidereplies, $targetid, $loadingurl);\n?&gt;\n<\/code><\/pre>\n\n<ol>\n<li>$accountid: Required<\/li>\n<li>$show: Optional - the number of responses to return. Defaults to 3.<\/li>\n<li>$title: Optional - will be wrapped in an H4 tag above your tweets. Defaults to nothing.<\/li>\n<li>$target: Optional - The target placed in your links. Defaults to _blank.<\/li>\n<li>$googleapikey: Optional - Lets you include your <a href=\"http:\/\/code.google.com\/apis\/ajaxfeeds\/key.html\">Google Api Key<\/a> if you so desire. (I don't know of any benefits to doing this, though.) Defaults to nothing.<\/li>\n<li>$hidereplies: Optional - Set to 1 if you want to only show your posts and not your replies to others.<\/li>\n<li>$targetid: Optional - If you have multiple calls on the same page, set a unique ID in this field so that the content can be targeted in the right place.<\/li>\n<li>$loadingurl: Optional - Enter the url for your \"waiting\" icon. If empty, the default will be used. If you don't want a waiting icon, enter \"none\". This loads in an li with class \"reliabletwitter_title_loading\" if you want to do extra CSS tweaking.<\/li>\n<\/ol>\n\n<p>Here are some examples:<\/p>\n\n<pre><code>&lt;?php\nif (function_exists('reliabletwitter')) reliabletwitter(11469962, 5, 'Twitter Updates', '_self');\n?&gt;\n<\/code><\/pre>\n\n<p>Shows 5 tweets, with a title of \"Twitter Updates\", and the links target \"_self\".<\/p>\n\n<pre><code>&lt;?php\nif (function_exists('reliabletwitter')) reliabletwitter(11469962, 1, 'Latest Twitter Update', '', '1', \"none\");\n?&gt;\n<\/code><\/pre>\n\n<p>Shows 1 tweet, with a title of \"Latest Twitter Update\", and the links don't have a target attribute. Won't show replies or a waiting icon.<\/p>\n\n<pre><code>&lt;?php\nif (function_exists('reliabletwitter')) reliabletwitter(11469962, 4, '', '_blank', '123456789');\n?&gt;\n<\/code><\/pre>\n\n<p>Shows 4 tweets, with no title. The links have a target of \"_blank\" and an API key of \"123456789\" will be passed to Google.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.1 (Mar 16, 2012)<\/h4>\n\n<ul>\n<li>Removed console.log() entry. Shouldn't have been in production<\/li>\n<\/ul>\n\n<h4>2.2 (Dec 30, 2011)<\/h4>\n\n<ul>\n<li>Allows Custom RSS Feeds (for troubleshooting purposes)<\/li>\n<li>If encountered, show feed retrieval error<\/li>\n<\/ul>\n\n<h4>2.1.2 (Jul 25, 2011)<\/h4>\n\n<ul>\n<li>Fixed bug created in 2.1 causing an extra number of tweets to be shown (if you entered 1, 2 were shown).<\/li>\n<\/ul>\n\n<h4>2.1.1 (Jun 12, 2011)<\/h4>\n\n<ul>\n<li>Fixed bug created in 2.1 causing all responses to show when \"hide replies\" was turned on.<\/li>\n<\/ul>\n\n<h4>2.1 (Jun 11, 2011)<\/h4>\n\n<ul>\n<li>Improved JavaScript to ensure that we don't get stuck in an endless loop when there are too many hidden replies.<\/li>\n<\/ul>\n\n<h4>2.0 (Feb 21, 2011)<\/h4>\n\n<ul>\n<li>Upgraded to widget API so you can now put more than one widget in the sidebars.<\/li>\n<li>Added \"Hide Replies\" feature<\/li>\n<li>Optional loading icon shows while feed is loading<\/li>\n<li>IMPORTANT NOTE: Because of the structural change to the widget API there are a few things to keep in mind. Upgrading will temporarily break your implementation:\n** After upgrading, immediately go to the widgets page and re-insert the Reliable Twitter widget into your sidebar. Your old settings will be pre-loaded, so just click \"Save\" and the upgrade will be complete.\n** All ID-based references have been changed to classes. If your css was references #twitter_div, change it to .twitter_div.<\/li>\n<\/ul>\n\n<h4>1.3 (Apr 6, 2010)<\/h4>\n\n<ul>\n<li>Fixed the javascript to provide more accurate time.<\/li>\n<li>Added a classname to the date link for design options.<\/li>\n<\/ul>\n\n<h4>1.2 (Sept 18, 2009)<\/h4>\n\n<ul>\n<li>Added a feature to the widget which allows you to add a \"Follow Me\" link beneath your tweets. (Thanks to Marko for the excellent suggestion.)<\/li>\n<\/ul>\n\n<h4>1.1 (Sept 17, 2009)<\/h4>\n\n<ul>\n<li>Enabled more than four returns from Google.<\/li>\n<li>Added options for configurable link targets and an optional Google API key.<\/li>\n<li>Fixed the \"x minutes ago\" statement to be more accurate.<\/li>\n<li>Removed the default Google CSS which was adding unneccesary page load.<\/li>\n<\/ul>\n\n<h4>1.01 (Sept 16, 2009)<\/h4>\n\n<ul>\n<li>Quick JavaScript bugfix when Google doesn't return all fields.<\/li>\n<\/ul>\n\n<h4>1.0 (Sept 16, 2009)<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>\n\n<!--section=other_notes-->\n<h3>Other<\/h3>\n\n<p>Plugin URI: http:\/\/www.soapboxdave.com\/reliabletwitter\/<br \/>\nAuthor: David Hollander<br \/>\nAuthor URI: http:\/\/www.soapboxdave.com\/<br \/><\/p>","raw_excerpt":"Adds a sidebar widget to display Twitter updates using the more-reliable Google Ajax API.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/46653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=46653"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sparkweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=46653"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=46653"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=46653"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=46653"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=46653"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=46653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}