{"id":9891,"date":"2010-08-16T21:11:35","date_gmt":"2010-08-16T21:11:35","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/tweetupdater\/"},"modified":"2011-07-04T12:00:39","modified_gmt":"2011-07-04T12:00:39","slug":"tweetupdater","status":"closed","type":"plugin","link":"https:\/\/mfe.wordpress.org\/plugins\/tweetupdater\/","author":6653616,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.1.1","stable_tag":"3.1.1","tested":"3.2.1","requires":"3.0","requires_php":"","requires_plugins":"","header_name":"TweetUpdater","header_author":"Patrick Fenner (Def-Proc.co.uk)","header_description":"","assets_banners_color":"","last_updated":"2011-07-04 12:00:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/www.deferredprocrastination.co.uk\/projects\/tweetupdater","header_author_uri":"http:\/\/www.deferredprocrastination.co.uk\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":6285,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"3.1.1":"<p>Bug fix for Twitter reset process.<\/p>","3.1":"<p>Added option to limit twitter message sending to selected categories or custom field\/value.<\/p>\n\n<p>Added tweet length checking, will trim title and auto-shorten long urls to keep tweets under 140 characters.<\/p>\n\n<p>Added generic <a href=\"http:\/\/yourls.org\">YOURLS<\/a> shortener support - for both public and private installations.<\/p>","3.0.1":"<p>Added (Stwnsh)[http:\/\/stwnsh.com\/] Welsh language shortener<\/p>","3.0":"<p>Stable release for WP 3.0.1<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0","3.0.1","3.1","3.1.1","3.1.alpha1","3.1.alpha2","3.x.beta1","3.x.beta2","3.x.beta3"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2231,409,161,159,2552],"plugin_category":[41,56,59],"plugin_contributors":[81426],"plugin_business_model":[],"class_list":["post-9891","plugin","type-plugin","status-closed","hentry","plugin_tags-message","plugin_tags-status","plugin_tags-tweet","plugin_tags-twitter","plugin_tags-update","plugin_category-communication","plugin_category-social-and-sharing","plugin_category-utilities-and-tools","plugin_contributors-defproc","plugin_committers-defproc"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/tweetupdater.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>TweetUpdater will send a message to your Twitter account, from you WordPress installation, whenever a new post is published, or when a previously published \npost is updated; as you choose.<\/p>\n\n<p>The tweet format is flexible, with placeholders for title and URL. URLs can be included from a variety of sources. In addition to full \npost permalinks (standard or friendly urls as selected in your site setup) the following short url services are supported:<\/p>\n\n<p>Internal services:<\/p>\n\n<ul>\n<li><a href=\"http:\/\/wordpress.org\/extend\/plugins\/le-petite-url\/\">la petite url<\/a> plugin<\/li>\n<li>WordPress Permalink<\/li>\n<\/ul>\n\n<p>Generic shorteners<\/p>\n\n<ul>\n<li>YOURLS<\/li>\n<\/ul>\n\n<p>External services:<\/p>\n\n<ul>\n<li>Bit.ly<\/li>\n<li>Stwnsh<\/li>\n<li>TinyURL<\/li>\n<\/ul>\n\n<p>Posts tweeting can be ommited based on post category, or custom field, or custom field and value pair.<\/p>\n\n<p>Derived from the original TwitterUpdater, version 3 has been fully rewritten to include OAuth authorisation with Twitter; because basic\nauthentication (username &amp; password) has now been deactivated for applications using the Twitter API.<\/p>\n\n<p>The TwitterUpdater plugin has a great tradition of being updated and improved by anyone who needed it to do something different, and \nas such TweetUpdater is one of a handful of TwitterUpdater forks.<\/p>\n\n<p>If the short url service you like to use is not included, please see the FAQ on how to add it. If you add a service, let me know and \nI'll add the code to the next release.<\/p>\n\n<ul>\n<li>Support &amp; Bug reports at <a href=\"http:\/\/github.com\/DefProc\/TweetUpdater\/issues\">github.com\/DefProc\/TweetUpdater\/issues<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>This section describes how to install the plugin and get it working.<\/p>\n\n<ol>\n<li>Download and extract the plugin from the zip file<\/li>\n<li>Copy the plugin folder into the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Link the plugin with your Twitter account by following the instructions on the new <code>TweetUpdater Settings<\/code> page.<\/li>\n<\/ol>\n\n<p>To Upgrade:<\/p>\n\n<p>Either upgrade automatically from your admin pages. Or if upgrading manually: deactivate TweetUpdater <em>before<\/em> copying \nthe new files across; then enable when completed.<\/p>\n\n<ul>\n<li>You will keep your settings when you upgrade from version 3.x and above<\/li>\n<li>TweetUpdater will remain linked to your Twitter account when you upgrade from version 3.x or above. <\/li>\n<\/ul>\n\n<p>Requirements:<\/p>\n\n<ul>\n<li>php cURL<\/li>\n<\/ul>\n\n<p>TweetUpdater uses the php cURL module to retrieve external short URLs and to contact Twitter. Your server will need to have cURL installed and \nactivated for TweetUpdater to function. For most hosting providers, it will be installed already. Check <code>&lt;?php phpinfo() ?&gt;<\/code> if you're \nnot sure if cURL is activated.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt>Can I use [my favourite short url service] with TweetUpdater?<\/dt>\n<dd><p>Sure, add it yourself! ;D<\/p>\n\n<p>Short URL retrieval is handled by the <code>tu_get_shorturl()<\/code> function in <code>tweetupdater.php<\/code>. If you'd like to use another service, \ntaking a look at this function will give you an idea of how to add one.<\/p>\n\n<p>Some URL shorteners return a link as the only content from an API call, but others, like bit.ly give other information that \nneeds to be parsed before it can be used. Take a look at the <code>tu_make_bitly_url()<\/code> function to get an idea of how to deal with \nthat. Help files for the service should tell you the format of the returned request, including any error messages.<\/p>\n\n<p>For short URLs from WordPress plugins, you'll need to find the function that outputs the generated URL from just a $post_ID \ninput variable. You can't use the same one as you use to show the link on the page, because TweetUpdater doesn't run when a \npage is processed to view; it runs when a page gets published\/updated.<\/p><\/dd>\n<dt>Will you be adding any more URL services\/placeholders\/other functions?<\/dt>\n<dd><p>Because the plugin does everything I need it too, I'm not looking to add any more URL services at the moment. The main work \nfor me was including <a href=\"http:\/\/wordpress.org\/extend\/plugins\/le-petite-url\/\">la petite url<\/a> (which I use) and adding the OAuth \nlogin for Twitter so it would keep working after basic auth was swithched off.<\/p>\n\n<p>I use this plugin and will keep it updated, but if there's something specific you want to see in TweetUpdater, the quickest \nway to get it is probably to poke around and figure out how to add it yourself.<\/p><\/dd>\n<dt>If I add a function, will you include it in TweetUpdater?<\/dt>\n<dd><p>Yes. If you have a URL service or placeholder that you've added, let me know and I'll add it to a new release.<\/p>\n\n<p>Source code is available for you to tinker with or fork at <a href=\"http:\/\/github.com\/DefProc\/TweetUpdater\">Github<\/a>.<\/p><\/dd>\n<dt>What's next?<\/dt>\n<dd><p>TweetUpdater needs some better error handling, and to cache and retry requests that fail if Twitter is down.<\/p><\/dd>\n<dt>TweetUpdater doesn't do what I want.<\/dt>\n<dd><p>If TweetUpdater doesn't do what you want, and you don't want to get your hands dirty with code, there are a number of nice \nlooking Twitter Status updaters about, <a href=\"http:\/\/wordpress.org\/extend\/plugins\/wordtwit\/\">WordTwit<\/a> looks very fancy, but I\nhaven't tried it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1<\/h4>\n\n<ul>\n<li>Added \"limit by category or custom field\" (LimitCategory Branch) - From <a href=\"http:\/\/burobjorn.nl\/\">BjornW<\/a>.<\/li>\n<li>Added tweet length checking, will trim the title and force shortening of long urls to keep tweets under 140 characters.<\/li>\n<li>Added generic <a href=\"http:\/\/yourls.org\">YOURLS<\/a> shortener support - for both public and private installations. Can use timestamp-hashed secret keys (preferred) or usename\/password combo (sent in plaintext).<\/li>\n<li>Removed CURL dependency for short URL retreval, replaced with WP_Http (CURL is still required for sending updates to Twitter).<\/li>\n<li>Removed zz.gd as a shortener option (service has closed).<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Rearranged URL selection to internal\/external sources.<\/li>\n<li>Added Welsh language URL shortener - From Gareth Jones, <a href=\"http:\/\/stwnsh.com\/\">Stwnsh<\/a>.<\/li>\n<li>Added warning if Bit.ly is selected without API credentials.<\/li>\n<\/ul>\n\n<h4>3.0<\/h4>\n\n<ul>\n<li>Changed name to <em>TweetUpdater<\/em><\/li>\n<li>Uses OAuth as the Twitter account authentication method. (Uses the TwitterAuth php library from <a href=\"http:\/\/github.com\/abraham\/twitteroauth\">Abraham<\/a>)<\/li>\n<li>Updated the settings page to better fit in with the WordPress styles.<\/li>\n<li>Reduced the number of entries in the <code>wp-options<\/code> table to 2 by using arrays.<\/li>\n<li>Renamed functions and DB entries to reduce the chance of collision with other plugins.<\/li>\n<li>Complete code revision.<\/li>\n<li>Revised documentation.<\/li>\n<li>Set cURL as standard retrieval method for short URLs<\/li>\n<li>Added Settings link on plugins admin page<\/li>\n<li>Added to the <a href=\"http:\/\/wordpress.org\/extend\/plugins\/tweetupdater\/\">WordPress Plugins Directory<\/a>.<\/li>\n<li>Updated functions for WP 3.0.1<\/li>\n<\/ul>\n\n<p><em>Previous to version 2.11, this plugin is the same as <a href=\"http:\/\/www.twitterupdater.com\">TwitterUpdater<\/a>.<\/em><\/p>\n\n<h4>2.11<\/h4>\n\n<p><a href=\"http:\/\/www.deferredprocrastination.co.uk\">http:\/\/www.deferredprocrastination.co.uk<\/a><\/p>\n\n<ul>\n<li>Added support for la_petite_url plugin<\/li>\n<li>Add #url# placeholder instead of \"Link title to blog?\" checkbox<\/li>\n<li>Added option to use full WordPress permalink as url<\/li>\n<\/ul>\n\n<h4>2.10<\/h4>\n\n<p>Jordan Trask \"<a href=\"http:\/\/twitter.com\/comm\">@comm<\/a>\"<\/p>\n\n<ul>\n<li>Added support for Bit.ly<\/li>\n<\/ul>\n\n<h4>2.09<\/h4>\n\n<p>Jordan Trask \"<a href=\"http:\/\/twitter.com\/comm\">@comm<\/a>\" - <a href=\"http:\/\/geektank.net\/\">http:\/\/geektank.net\/<\/a><\/p>\n\n<ul>\n<li>ZZ.gd broke with 403 forbidden error, fixed with setting different user agent.<\/li>\n<li>Move menu to \"Settings\".<\/li>\n<li>Added option under configuration to choose ZZ.gd or TinyURL. Added 1 function.<\/li>\n<li>Re-worked the code for url shortening services, change in one place instead of three. Created a function instead.\nwhich makes it easier to add more services if necessary. Bit.ly support in the future?<\/li>\n<\/ul>\n\n<h4>2.08<\/h4>\n\n<p>Eric Austin Lee - <a href=\"http:\/\/www.ericaustinlee.com\">http:\/\/www.ericaustinlee.com<\/a><\/p>\n\n<ul>\n<li>Corrected to fit new needs of Wordpress 2.7<\/li>\n<\/ul>\n\n<h4>2.07.1<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt (v2.07.1)<\/p>\n\n<ul>\n<li>corrected tinyurl-api-url...<\/li>\n<\/ul>\n\n<h4>2.07<\/h4>\n\n<p>Marco Luthe - <a href=\"http:\/\/www.saphod.net\">http:\/\/www.saphod.net <\/a><\/p>\n\n<ul>\n<li>Changed \"save_post\" hook to \"publish_post\"<\/li>\n<li>Added \"future_to_publish\" hook and vc_twit2<\/li>\n<\/ul>\n\n<h4>2.06<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt<\/p>\n\n<ul>\n<li>added cascading short-url generation (if zz.gd is down, it'll cascade to tinyurl.com)<\/li>\n<\/ul>\n\n<h4>2.05<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt<\/p>\n\n<ul>\n<li>added alternative method to get shorturl (using curl instead of fopen)<\/li>\n<\/ul>\n\n<h4>2.04<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt<\/p>\n\n<ul>\n<li>fixed character escaping in post-title ( ' and &amp; ) <\/li>\n<li>fixed empty post-title when scheduled post appears<\/li>\n<\/ul>\n\n<h4>2.03<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt<\/p>\n\n<ul>\n<li>fixed the multi-tweet issue in WP2.6 (due to post revisions the same post was twittered multiple times before)<\/li>\n<li>streamlined the options...only new posts and edited old-posts from now on out...<\/li>\n<\/ul>\n\n<h4>2.02<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt<\/p>\n\n<ul>\n<li>added twitter source parameter to replace \"from web\"<\/li>\n<\/ul>\n\n<h4>2.01<\/h4>\n\n<p>Ingo \"Ingoal\" Hildebrandt - <a href=\"http:\/\/www.ingoal.info\/archives\/2008\/07\/08\/twitter-updater\/\">http:\/\/www.ingoal.info\/archives\/2008\/07\/08\/twitter-updater\/<\/a><\/p>\n\n<ul>\n<li>replaced tinyurl-support with zz.gd-support even shorter short-url<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<p>Jonathan Dingman (v2.0) - <a href=\"http:\/\/www.firesidemedia.net\/dev\/software\/wordpress\/twitter-updater\/\">http:\/\/www.firesidemedia.net\/dev\/software\/wordpress\/twitter-updater\/<\/a><\/p>\n\n<ul>\n<li>added tinyurl-support<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<p>Based on Version 1.0 TwitterUpdater by Victoria Chan - <a href=\"http:\/\/blog.victoriac.net\/ja\/geek\/twitter-updater\">http:\/\/blog.victoriac.net\/ja\/geek\/twitter-updater<\/a><\/p>","raw_excerpt":"Send messages to Twitter when a post is published or updated; uses OAuth. Will add a short URL from a plugin, or from an external service.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/9891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=9891"}],"author":[{"embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/defproc"}],"wp:attachment":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=9891"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=9891"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=9891"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=9891"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=9891"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=9891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}