Plugin Directory

WP to Twitter

Posts a Twitter update when you update your WordPress blog or add a link, with your chosen URL shortening service.


  • Use apply_filters( 'wpt_tweet_sentence', $tweet, $post_ID ) to pass custom taxonomy Tweet formats - Pending WordPress support for taxonomy meta.
  • Add regex filter to detect URLs typed into Tweet fields for counting/shortening purposes. [todo]


  • Bug fix: missing styles from Twitter feed
  • Bug fix: test whether Tweet is possibly sensitive always returned true
  • New feature: display uploaded images in Twitter feed instead of link to image.
  • New template tag: #longurl# - use to Tweet the unshortened URL for a post.


  • Bug fix: Typo in fix for settings update screwed things up.


  • Bug fix: Error with YOURLS url handler. Two reversed variable definitions.
  • Bug fix: Bad URL for testing time check when WP Tweets PRO active.
  • Bug fix: Update could reset some settings to defaults.
  • Grammar fix to one text string.
  • Minor updates to Spanish & Portuguese translations


  • Update Japanese translation
  • Bug fix: accidentally left one debug message in override.


  • Bug fix: obscure duplicating Tweets issue related to co-Tweeting and media uploads
  • Bug fix: notice thrown if using Yourls and access to Yourls directory blocked at server.
  • Revamped settings page.
  • Updated user's guide.


  • Changed priority of wpt_twit function on save_post action so that The Events Calendar can send Tweets.
  • Bug fix: ensure that arguments passed to URL shorteners for analytics are URL encoded.
  • Bug fix: Clear widget cache when widget is updated.
  • Bug fix: invalid argument with obsolete category filters.
  • Bug fix: inconsistent labeling of API key/consumer key.
  • Bug fix: Errors in data migration for 3.0.0 fixed.
  • Only show 'Tweet to' tab if individual authors options are enabled.
  • Minor updates to application setup instructions.


  • Handles case where post type identification could throw PHP warning if no post types were chosen to be Tweeted.
  • Eliminated outdated compatibility function.
  • Eliminated old update notices.
  • General code cleanup.
  • Code documentation.
  • Updated media uploading to use Uploads endpoint, replacing deprecated update_with_media endpoint. [WP Tweets PRO]
  • Simplifed short URL storage
  • Decreased widget cache life from 1 hour to 30 minutes.
  • Added fallback Normalizer class for cases when extension is not installed.
  • Added notes for the 100 HTTP code return error.
  • Moved Twitter server time check out of basic set-up & set up to only run on demand.
  • Minor design changes.


  • Feature: Upload images from remote servers (WP Tweets PRO)
  • Updated User's Guide.


  • New filter: wpt_allow_reposts to filter whether a specific post should schedule retweets (WP Tweets PRO).
  • Alter image selection criteria to use first uploaded image as the default instead of the last uploaded image (WP Tweets PRO)
  • Pass media data into Tweet Now AJAX function (WP Tweets PRO);
  • Fixed issue with 400 error for "Tweet Now" button for unauthenticated logged-in users (WP Tweets PRO)
  • Add filter to disable use of featured image for uploading (wpt_use_featured_image; returns boolean) (WP Tweets PRO)
  • Bug fix: In translated context, successful Tweet notices picked up wrong notice class.
  • Extensive code cleanup and reformatting.


  • Bug fix: Expiration not set on retweets.


  • Added test to prevent duplicate sending of Tweets. Any Tweets to the same author sent within 30 seconds are blocked silently.
  • Feature: Add Twitter widget for search API
  • Add support for YOURLS signature tokens
  • Deprecate support for YOURLS access with username/password.
  • Revised debugging setup
  • Translation updated: German



  • Feature: Use display URL for URLs in Twitter Widget
  • Bug fix: user's Twitter account not assigned to #author# tag
  • Bug fix: reverted bug fix #4 from 2.9.1; didn't accomplish what it was supposed to and caused new issues.


  • Bug fix: Accidentally enabled upload images in free edition; feature is problematic without the controls in WP Tweets PRO!


  • Bug fix: too many fallbacks for #author#, display name never shows
  • Bug fix: stripslashes on AJAX tweet
  • Bug fix: prevent PHP warnings on invalid shortener return values
  • Bug fix: [WP Tweets PRO] if images are to be uploaded, but were added to post after publication, they were not tweeted.
  • Updated Dutch, German translations.


  • Revamp roles and capabilities management
  • Add filter: wpt_max_tweet_length; returns array with max Tweet lengths. Default array( 'with_media'=>119, 'without_media' => 137 );
  • Bug fix: When a Tweet was truncated due to long raw text, truncation would be 5 chars too aggressive.
  • Changed base capability from 'update_core' to 'manage_options' for multi-site admins
  • Post to Twitter function returns false on all errors, rather than just Twitter errors.
  • Removed upgrade cycles for versions more than 2 1/2 years old.
  • Add "Tweet Now" button to send a Tweet without saving post.
  • Add Tweet Scheduler button for WP Tweets PRO users; set time and date and schedule from post without saving.
  • Language update: Italian


  • Bug fix: Tweet this post toggle incorrectly set when editing an unpublished post with edits default set to not Tweet.


  • Added missing debugging parameter
  • Added alternative contact method for failed support email requests.
  • Updated search target URL for hashtags in Twitter widget
  • Automatic truncation of title/excerpt now trims off entire last word.
  • Localized base tabs script.
  • Bug fix: if post title was contained in custom Tweet & Tweet > 140 characters, title could be removed from Tweet if truncating not altered
  • Bug fix: use reply-to header in support requests.
  • Bug fix: error log not visible in Tweet history for post.
  • UI: Tweet History now collapsed by default.
  • Prep work for WP Tweets PRO 1.7.
  • Added filter to insert HTML before and after Tweet list items in widget.
  • Added link to download PDF user's guide.
  • Deprecated support for WordPress versions 3.5.x
  • French, Dutch translations updated.


  • Updated: Changed URLs to Twitter app creation
  • Bug fix: Error message clean up.
  • Bug fix: if excerpt value was contained in custom Tweet & custom Tweet included line breaks & Tweet > 140 characters, excerpt custom Tweet would have characters missing from the middle of the Tweet.
  • Updated: tested up to value


  • Bug fix: wasn't possible to remove custom Twitter text.
  • Bug fix: remove 403 error generated by duplicate posting with XMLRPC instant posts.
  • Bug fix: Check data type returned by JSON query
  • Bug fix: Tweet post status message should not show up except when Tweet has been published.


  • Wrapped 5.3+ only function in function_exists


  • Rewrite Twitter App setup instructions to match re-designed Application Management page at Twitter.
  • Change time query address to main Twitter domain to avoid http_query errors.
  • Re-vamped error message generation.
  • Added notification messages post-publication.
  • Added 'last Tweet' status notification in settings.
  • Added option to disable feed stylesheet if not in use.


  • Don't fetch subscribers in user lists.
  • Disables debugging.


  • Improve performance by checking against Tweetable post types earlier.
  • Added filters for utm_medium and utm_source in Google Analytics; wpt_utm_medium and wpt_utm_source.
  • Deprecated support for WP versions older than 3.4.2
  • Bug fix: image references in twitter feed CSS.
  • Update Spanish translation.


  • Bug fix: Twitter feed styles enqueued via script hook instead of style hook do to enqueuing within shortcode.
  • New filter: wpt_feed_stylesheet -- replace URL of feed stylesheet with custom URL.
  • New filter: wpt_enqueue_feed_styles -- return false to disable stylesheet.
  • Removed option to connect to Twitter on HTTP, due to https://dev.twitter.com/discussions/24239
  • Russian translation updated.
  • Dutch translation updated.
  • Spanish translation updated.


  • Removed category filtering in favor of WP Tweets PRO update allowing filtering on all taxonomies.
  • Removed obsolete functions handling older WP versions.
  • UI updates.
  • Updated fallbacks for multibyte string functions.
  • Added wpt_tag_default filter to choose the default hashtag symbol.
  • Miscellaneous PHP notice eliminations.
  • File reorganization.
  • Bug fix: Twitter feed widget errors if not authenticated.


  • Bug fix: #author# template tag
  • Bug fix: tag filtering error.
  • Bug fix: eliminated one PHP notice.
  • Minor text changes.
  • Updated: Russian translation.


  • Added citation for StormTwitter feed source.
  • Reverted use of 'extract()' due to very obscure bug.
  • New feature for WP Tweets PRO: custom templates for re-posts
  • Update Dutch translation.


  • Setting a post to 'pending' or any custom status caused a Tweet to be published in 2.7.4


  • Update API endpoint for Bit.ly
  • Added filter to modify "Tweet this" value during editing, based on $_POST data. ('wpt_tweet_this_edit')
  • Altered order of limits for determining whether to Tweet.
  • Deprecated upgrade routine for versions below 2.2.9. (Upgrade will still work.)
  • Added questions to support request form.
  • Added option to delete Tweet history for a post.
  • Made Twitter Feed available via shortcode [get_tweets id='twitter_username']
  • Debugging improvements.
  • Moved to save_post actions
  • Removed option to disable XMLRPC-based Tweeting.
  • Deprecated support for WP versions older than 3.3.3.
  • Renamed StormTwitter class for better namespacing and because it's substantively changed as I'm using it.
  • Modified Twitter feed caching to save as local file or as transient if file system not available.
  • Removed PHP < 5 warning, since I no longer support versions of WordPress that allow PHP 4.
  • #author# Template tag only worked if WP Tweets PRO installed.
  • Updated Portuguese Brazilian & added Swedish translations. (Partial)


  • Don't display promotional notice if donation option checked.
  • WP Tweets PRO: fix for broken prepend text.
  • WP Tweets PRO: Improved truncating if image uploads enabled.
  • Updated translation: Italian


  • Bug fix: Twitter Feed CSS enqueued on all pages, instead of just when activated.
  • Bug fix: test parameters in tmhOAuth caused plug-in conflict.
  • Bug fix: Major issue with WP Tweets PRO if no individual accounts were authorized with Twitter.


  • Cleared un-noticed PHP warnings.
  • Updated .pot language files.


  • Bug fix to character counter to adapt to updated t.co lengths.
  • Bug fix to test URL to return unencoded URL.
  • Bug fix: could not save setting to use dynamic campaign ID with Google Analytics
  • Bug fix: Could not re-order template tag truncation order.
  • Bug fix: Corrected encoding of category names and descriptions.
  • Bug fix: Better handling of wp_get_shortlink for custom post types. (Custom post types don't support wp_get_shortlink)
  • Adds a Twitter Feed widget. Original code source from StormTwitter feed by Liam Gladdy
  • Deprecated support for WP 3.1.4.


  • Error with post_with_media check. All apologies.


  • Filter post_with_media to only handle posts with attached media. (WP Tweets PRO)
  • Expose past and failed Tweets on edited posts when Tweeting edits disabled.


  • Fix tmhOAuth already exists issue.
  • Bug fix: do not Tweet edits unless explicitly directed to, rather than depending on meta data.
  • Bug fix: Scheduled posts/image uploads (for WP Tweets PRO)
  • Improved error messaging.
  • Misc. minor bug fixes


  • Improved & removed feature: Tweet comments. Moved to WP Tweets PRO.
  • Improved view: post edit screen when Tweeting edits is disabled.
  • Added filter: wpt_custom_shortcode. Args: $post_ID, custom field name. Filter output from [[your_custom_field]].
  • Changed twitter analytics options to radio selector.
  • Bug fix: disable inline edit Tweets did not also disable bulk edit Tweets
  • Bug fix: URL re-fetch issue with jotURL.
  • Updated Italian translation.


  • Whoops. I left in some debugging. Hurt me more than it hurt you...


  • Bug fix: sslverify=false to fix cURL issue.
  • Bug fix: #@# and #author# reference tags did not always return correct results.
  • Bug fix: charset retrieval incorrect
  • Updated languages: French, Italian, German


  • Bug fix: Fallback function for filter_var in PHP <5.2
  • Added shortener: JotURL, contributed by Massimo Poli
  • Language updates: Italian, Dutch, Russian.


  • Bug fix: Rapidly-posted edits processed as new posts.

  • Bug fix: URL shortener error produced on https when no shortener chosen.


  • Translatable role names for Permissions.
  • Bug fix: Goo.gl URL shortening. Incorrect URL posted.


  • Support for new features in WP Tweets PRO 1.4.0.
  • Minor interface tweaks.
  • Removed settings export (it was out of date and nobody sent it anyway).
  • Bug fix: bad settings link in API failure warnings.
  • Bug fix: URL shortener returned error when not shortening URLs.
  • Bug fix: Category limits are not applied if 'category' is not an available taxonomy.
  • Bug fix: Prevent publish actions from running twice for scheduled posts.
  • Change: significant changes to large portions of plug-in text. My apologies to translators...but there's less text, now!
  • File restructuring and code cleanup.
  • Added Danish translation.
  • Updated French translation.


  • Using tag slug instead of tag name is a problem for languages with characters outside of RFC 1738 URL specs. Transformed into selectable option, default off.


  • WP to Twitter now uses tag slug instead of tag name to convert tags into hashtags. Allows you to customize the hashtag sent for each tag.
  • Set up changes necessary for pending t.co URL length change on 2/20/2013. Blog post
  • Updated: Danish, French, German translations.


  • Minor fixes for stupid mistakes. I apologize for the inconvenience.


  • Various fixes related to WP Tweets PRO updates.


  • Backed out an efficiency tweak that didn't work as expected.


  • Modified system for handling scheduled posts to get around recent issues with Tweeting scheduled posts.
  • Update to Italian translation


  • Truncation fix: Tweet not truncated if no template tags in use.
  • Now sanitizing titles and categories when using for Google analytics
  • Updated Italian translation, added Catalan translation.


  • Another bug fix to truncating.
  • Updated Italian translation.


  • Removed hardcoding of /wp-content/
  • Fixed truncation bug causing Tweets to be truncated when unnecessary.
  • Improved error messages.


  • Updated French Translation
  • Fixed issue with multiple-savings of post meta data
  • Added #displayname# template tag.
  • Deprecated support for WordPress versions before 3.0.6.
  • Updated to Twitter API endpoint version 1.1
  • Updated: t.co URLs are now 20 characters. (Were 19.)
  • Change: length of any prepended or appended text is included in character counts.
  • Bug fix: Prepend/Append fields not stripped.
  • Bug fix: undefined variable when Tweeting links
  • Bug fix: truncating of Tweets when no URL shortcode is included.
  • Bug fix: Post had to have a successful previous tweet in order to display failed tweets.
  • Bug fix: if your Twitter application has read/write/dm capabilities, will no longer claim you don't have read/write caps.
  • Improved information in failed tweet listing
  • Clear admin message immediately when clearing errors.
  • Change: test type for default Tweet is positive test if Tweets should be posted by default; negative if not.
  • Verified: WP 3.5 compatibility.


  • Issue if standard roles had been removed.
  • Added option to hide account information in Tweets as a user profile setting. (If checked, return #account# as blank for that user.)


  • Bug fix: Issues with permissions disallowing some behaviors incorrectly.
  • Bug fix: Stripping of nonalphanumerics in hashtags is now UTF8 friendly.
  • Change: Tweaking of the meaning of some permissions.
  • Add: permission to disallow a role from Tweeting at all.


  • Bug fix: Mismatched rules for when to enqueue charCount script and when to insert inline script calling that script.
  • Bug fix: Added long-missing 'do not post Tweets by default when editing' option.
  • Bug fix: 2 bugs when sending test Tweet and using WordPress as a shortening service
  • Translation updated: French


  • Bug fix: Error in truncation routine left tweets 2 characters too long when truncating.
  • Change: minor tweak to administrative UI.
  • Added: check of read-write status of application when posting.


  • Bug (notice) fix: undefined variable.
  • Bug fix: url encoding on Retweet links
  • Removed some functions providing upgrade support with older versions of WP to Twitter (pre OAuth)
  • Fixed bug in WP Tweets PRO which broke archiving of past Tweets. (Requires WP Tweets PRO 1.2.1)
  • Added support for Twitter Friendly Links if installed.
  • Added: Saves failed tweets for reference and manual tweeting.


  • Bug fix: #account# shortcode broken in 2.4.7
  • Bug fix: Missing function if WP Tweets PRO installed but not upgraded to 1.2.0


  • Bug fix: Fatal error could be triggered if WP HTTP query returns error object.
  • Bug fix: Fixed missing index when saving users without changing Twitter options.
  • Bug fix: With custom post types, save_post ran after publish_{custom_post_type}. Moved save metadata function into publish_{cpt} action.
  • Bug fix: 2.4.1 upgrade cycle was still running for all upgrades.
  • Change: suggest HTTP switch for any connection error, since not all SSL related errors report as such.
  • Italian and Dutch translations updated.


  • Added strip_tags to custom template tag values.
  • Tweet character counter now processes values for #title#, #url# and #blog#. Courtesy of Arnout Veenman.
  • Truncation array error bug fix courtesy of Arnout Veenman.
  • Truncation routine tags modification courtesy of Arnout Veenman.
  • Bug fix: bug fix for final truncation check.
  • Change: #author# template tag now returns the Twitter account @ reference if it's available, user's display name if not.
  • Bug fix: Su.pr uses the longURL as an array key - the ampersands in URL needed to be encoded.
  • Bug fix: WP to Twitter box showed up on disabled post types.
  • Bug fix: undefined variable when posting using Su.pr as shortener.
  • Change: changed Bit.ly API url to new recommended query URL.
  • Change: moved character counter under Custom Tweet box so there's sufficient space if the meta box is in a side position.


  • Added #modified# to use post modified date in templates.
  • Corrected unstripped slashes for template preview in WP to Twitter post box
  • Character count for custom tweet text was incorrect on initial load in edit mode.
  • Replaced character counter with a more Twitter-like character counter (counting down.)
  • Removed JavaScript from post box so that WP to Twitter box is properly draggable.
  • Added ampersand to normalizer function
  • Updated Brazilian Portuguese translation


  • Bug fix: Truncation error if no crucial elements are truncatable
  • Bug fix: Unclosed if/else caused empty Settings link on plugins page.
  • Bug fix: "Post on XMLRPC" option must not be selected if using WP Tweets Pro with XML RPC
  • Bug fix: Windows Live Writer (and perhaps other apps) send entity-converted characters on XMLRPC post; need to decode entities in text before sending to Twitter.
  • Bug fix/change: Provides option to switch to http connections to Twitter if https connection returns SSL errors.


  • Bug fix: In some cases, Administrators were not granted permissions to add custom tweets and other capability restricted tasks.
  • MAJOR bug fix: broke an element of the authorization routine which caused an early exit out of posting to Twitter for some users.
  • Settings link on plugins listing incorrect if WP Tweets Pro enabled.


  • 2.4.1 had an error in the upgrade routine which broke the upgrade.


  • I had mistakenly restricted WP Tweets PRO administrators from setting their own accounts, which was a problem for sites with multiple admin-level authors.
  • Revised permissions model to use custom capability to control access to user accounts rather than default capabilities.
  • Also switched to custom capability to control access to custom tweet options.
  • URL to settings page pointed to wrong location if WP Tweets PRO was installed before configuring WP to Twitter.
  • Support request form submitted to invalid URL if WP Tweets PRO installed.
  • If append or prepend fields were in use, they were duplicated in Tweets on reposts.
  • Added option so that users can be allowed to toggle the Tweet/Don't Tweet custom option without being able to edit other permissions.


  • Bug fix/change: Twitter automatically shortens all URLs sent. As a result, all URLs are by definition 19 characters for the purpose of Tweeting. WP to Twitter now measures the value of the #url# tag as 19 characters, regardless of actual length.
  • Category limiting can now either mean "tweet checked categories" or "don't tweet checked categories".
  • Option to hide custom tweet box and options based on user roles.
  • User role permissions now support custom roles
  • Ability to determine the sequence in which fields are truncated or removed from Tweets if they exceed status length limits.
  • Replace cURL requirement with WP_HTTP wrapper.
  • Significant re-write of underlying code.
  • Redesign of settings pages.
  • Significant text revisions.
  • Release of WP Tweets Pro, a pro upgrade to WP to Twitter.


  • Bug fix: resolved case where new backdated posts were treated as edits.
  • Some changes to Tweet truncating routines to avoid modifying the URL during truncation.


  • Bug fix: Custom Tweet text not sent for custom post types if the post was not saved prior to publishing.
  • Bug fix: Scheduled posts would not Tweet if certain plug-ins were installed, due to modifications of post dates.


  • Bug fix: Change in 2.3.15 to fix XMLRPC publishing edits also classed scheduled posts as edits.


  • Eliminated unnecessary duplication in error messages.
  • If application is not authenticated, status updates on posting now fail silently.
  • Added additional error help if cURL is not supported.
  • Improved error response information for other http_code responses from Twitter
  • Added reminder of your template format to WP to Twitter custom box
  • Moved tags from an option to a template tag.
  • Fixed bug where shortcodes were not stripped from post excerpts
  • Bug fix: If a scheduled post was edited once, without changing publishing time, custom Tweet text was lost.
  • Added support for the app_publish_post hook
  • Bug fix: XMLRPC published edits to Twitter when post updates on edit disabled


  • Bug fix for value treated as array without verifying
  • Update to Italian translation


  • Fixes missing function_exists check for Normalizer.


  • Links added in link manager were getting run through the manual WP link shortener
  • Added appropriate normalizer call for PHP versions above 5
  • Adjustment to Tweet truncation to hopefully avoid runaway truncating.
  • Added a new FAQ to my web site about character counting.
  • Fixed URL wrapper error with fopen()
  • Bug fix: Switched 'Tweet this post' checkbox to a radio selector for simpler logic.
  • Now saving all past Tweets for each post.


  • Error in commenter field; accidentally defined braces as template wrapper instead of hashes
  • Text updates
  • Removed PluginSponsors.com
  • Changed API query address to https.


  • Did not expect people would submit support requests without actually adding a message. Message now required.


  • Fixed issue with category detection
  • Changed one function name to a non-generic name.
  • Modified remote URL calls; should fix problem contacting Bit.ly
  • Added template tag #commenter# available in comment Tweet template. Use with caution.
  • Added plug-in support request form.
  • Fixed bug where custom Tweet text was over written in a quick edit
  • Fixed "Don't Tweet this Post' checkbox
  • Added Goo.gl as an additional URL shortener.
  • Added custom keyword option for YOURLS shortener.


  • Bug fix: Warning message about 2.9.2 limited support no longer displays on public site.


  • Double Tweeting problem fixed.
  • Missing custom Tweets fixed.
  • Revised WordPress version support notes.
  • I hope.


  • Error in runtime created function fixed.


  • Bug fix to custom shortcode support to allow use of multiple custom shortcodes simultaneously
  • Bug fix to (hopefully) solve duplicate posting when tags are included on scheduled posts.
  • Added comparison of your server time to Twitter's server time for information when installing.
  • Updated Italian translation.


  • Re-wrote instructions for connecting to OAuth to reflect redesigned Twitter Apps registration process
  • Code clean-up to remove some redundancies
  • Bug fixes:
    • Occasional double Tweeting on future post seems to be fixed.
    • Tweeting on edits/quick edits when not checked
  • Added Ukrainian translation


  • Improved support for non-standard publishing mechanisms.
  • Fixed 'Tweet this' option.
  • Quickpress setting made obsolete
  • Now uses wp_get_shortlink() when available for generating WP-based shortlink.


  • Fixed XMLRPC support
  • Updated Italian translation


  • Added version check and update cycle into Tweet routine


  • Added support for custom post types.
  • Added support for Tweeting when comments are posted.
  • Bug fix: results of checking/unchecking 'Don't Tweet this' box not consistent.
  • Added Japanese translation. kndb



  • Missing break statement caused remote YOURLS URLs to be replaced with Su.pr URLs


  • Bug in user settings retrieval; don't know how long it's been a problem.
  • Added updated Italian translation


  • Blocked posting on custom post types
  • Added time check, for servers with incorrect time.
  • Added cURL check.
  • Due to ongoing problems with Cli.gs, removed that URL shortening service and replaced with Su.pr
  • Changed default shortening to 'no shortening'
  • Saves every Tweet into post meta on save; adds link to re-post status update in WP to Twitter post box.
  • Revised error messages to increase detail.


  • Enhancement: protect against duplicate Tweets
  • Bug fix: hash tag replacement with spaces problematic if alphanumeric limit also set
  • Bug fix: issue with scheduled posts posting when 'Do not Tweet' checked.
  • Added Danish translation by Rasmus Himmelstrup
  • Updates to compensate for changes in YOURLS 1.5


  • Enhancement: strips shortcodes before sending post excerpts to Tweet
  • Enhancement: Added PHP version check and warning.
  • Added a default case to check on HTTP response code from Twitter.
  • Added a specific error message for out of sync server times.
  • Added link to WP to Twitter's Fundry.com page.
  • Bug fix: hash tag space removal fixed
  • Enhancement: Respects wp content directory constants if set.


  • Modification: renamed OAuth files to maybe avoid collision with alternate OAuth versions which do not include needed methods
  • Eliminated postbox toggles
  • Clean out deprecated functions
  • Updated admin styles and separated into a separate file.
  • Bug fix: Edited pages did not Tweet
  • Bug fix: May have reduced occurrences of URL not being sent in status update. Maybe.
  • Bug fix: Forced lowercase on Bit.ly API username (Thanks, Bit.ly for NOT DOCUMENTING this.)
  • Added option to strip non-alphanumeric characters from hash tags
  • Added control to adjust which levels of users will see custom Profile settings
  • Found myself becoming unnecessarily sarcastic in Changelog notes. Will fix in next version. :)


  • Bug fix: shouldn't see error 'Could not redeclare OAuth..' again.
  • Bug fix: shouldn't see 'Fatal error: Class 'OAuthSignatureMethod...' again.
  • Bug fix: updated API endpoints


  • Blocked global error messages from being seen by non-admin level users.
  • Added #account# shortcode to supply Twitter username @ reference in Tweet templates.
  • Updated debugging output
  • Deletes obsolete options from database


  • Fixed: Bug which added unnecessary duplications of post meta
  • Fixed: broken analytics campaign info
  • Fix attempt to clear up problems with urlencoding of links
  • Fix attempt to clear up problems with some 403 errors and status update truncation


  • Fixed a bug where new Pages did not Tweet.
  • Minor text changes to try and clarify OAuth process.
  • Fixed bug where any post with a customized status update would post, regardless of settings.
  • Fixed faulty shortening when new links were added.


  • Not a Beta anymore.
  • Fixed issue with non-shortening links when using XMLRPC clients
  • Fixed issue with double-urlencoding of links before shortening
  • Added Dutch translation
  • Updated Italian translation

2.2.0 (beta 7)

  • Significantly improved error reporting.
  • Completely revamped secondary author support to give some value in Twitter.
  • Completely eliminated secondary posting service support. Too much trouble, too little application.
  • Removed the custom post meta data clutter; WP to Twitter's post meta data is now private to the plugin.
  • Fixed a couple of error situations with Bit.ly
  • Made it possible for contributor posts to be Tweeted
  • This is the last beta version.

2.2.0 (beta 6)

  • Fixed bug where errors were reported on categories not intended to be sent to Twitter
  • Allowed OAuth notice to be disabled for users not intending to use that service.
  • Added a debugging option to output some process data if OAuth connection fails
  • Fixed bug which prevented posting of edited status updates

2.2.0 (beta 5)

  • Eliminated an incompatibility with alternate versions of twitterOAuth class
  • Significant revisions of error message processes and details
  • Fixed some URL shortener problems
  • Added simplified Chinese translation

2.2.0 (beta 4)

  • Fixed long-standing issue with serialization of option arrays
  • Fixed trimming of white space from authentication keys
  • Clarification of some texts to help explain some of the changes
  • Clarification of some texts to help explain how to connect to Twitter with OAuth
  • Added credit for Estonian translation by Raivo Ratsep.

2.2.0 (beta 3)

  • Fixed issue with failing to post to Twitter.

2.2.0 (beta 2)

  • Fixed false positive error message on Twitter check routine failure
  • Adjusted twitteroauth file to hopefully avoid certain errors

2.2.0 (beta)

  • Added OAuth support
  • Fixed problem with default Tweet status not defaulting to 'no.'
  • Revised a few other minor issues
  • No longer supporting WordPress versions below 2.9.2
  • Eliminated features: Author's Twitter account posting; Use of additional service to post to Twitter on a second account. These features are not possible with simple OAuth authentication; they require XAuth. This makes the features of extremely limited value, since you, as the user, would be required to apply for XAuth permissions on your own installation. I regret the necessity to remove these features. Both options will still function with Twitter-compatible API services using Basic authentication.


  • Fixed copy typo.


  • Last update before oAuth integration, I hope.
  • Fixed problems with Postie compatibility
  • Fixed bug where local YOURLS path could not be unset
  • Fixed some issues with upgrades which re-wrote status update templates, occasionally removing the #url# shortcode.
  • Despite numerous reports of issues API behavior with Bit.ly or Twitter, I was unable, in testing, to reproduce any issues, including on servers which I know have had failed requests in the past.
  • Revised upgrade routines to avoid future problems.


  • Added a control to disable error messages.
  • Separated URL shortener errors from Twitter API errors.
  • Added stored value with the error message from Bit.ly to try and identify source of errors.


  • Now compatible through WP 3.0 series
  • Fixed bug related to failed responses from URL shortener API requests.
  • Added #author# shortcode for status update templates.
  • Fixed a problem with non-posting of scheduled posts when default status updates are disabled.


  • Fixed bug where status updates were not posted when a post changed from pending to published. (Thanks to Justin Heideman for the catch and fix.)
  • Fixed bug where passwords with special characters were not used correctly
  • Eliminated use of LongURL API due to closure of the service. Hope to replace this functionality at some point, so I've left the framework intact, just removed the API call.
  • Improved error reporting in support check routines.


  • Updated for Bit.ly API v3 (should fix recent issues with incorrect reporting from Bit.ly API and API request failures.)


  • Bug fixed where appended text was placed before hash tags.
  • Added method for error messages to be automatically cleared following a successful status update. It seems a lot of people couldn't find the button to clear errors, and thought they were getting an error every time.
  • Moved short URL selection option to a more prominent location.


  • Bug found with YOURLS short url creation when using multiple sites with one YOURLS installation and short URLS are created using post ID. Added option to disable post_ID as shortURL generating key in YOURLS account settings.
  • Missing semicolon replaced in uninstall.php


  • Fixed bug introduced in WordPress 2.9 where logged in users could only edit their own profiles and associated issues.
  • Fixed bug which caused #url# to repeatedly be added to the end of Tweet texts on reactivation or upgrade.
  • Fixed bug which generated shortener API error messages when no URL shortener was used.
  • Fixed bug which prevented display of URL on edit screen if no URL shortener was used.
  • Added Spanish translation courtesy of David Gil Pérez
  • Made so many language changes that aforementioned translation is now terribly out of date, as are all others...
  • Added ability to restrict posting to certain categories.
  • Added option to dynamically generate Google Analytics campaign identifier by category, post title, author, or post id.
  • Added option to configure plugin to use other services using the Twitter-compatible API.
  • Added support for YOURLS installations as your URL shortener. (Either local or remote.)
  • Redesigned administrative interface.
  • Removed use of Snoopy and alternate HTTP request methods.
  • Discontinued support for WordPress versions below version 2.7.
  • Major revisions to support checks.
  • Version jumped to 2.0.0


  • Quick bug fix contributed by DougV from WordPress Forums.


  • WP 2.9 added support for JSON on PHP versions below 5.2; changes made to do WP version checking before adding JSON support.
  • Stripslashes added to viewable data fields.
  • Added option for spaces to be removed in hashtags.
  • A few post meta updates.
  • Barring major disasters, this will be the last release in the 1.x series. Expect version 2 sometime in late January.


  • Fixed issue with stray hashtags appearing when Tweeting edited posts was disabled and adding hashtags was enabled.
  • Added shortcode (#date#) for post date. Uses your WordPress date settings to format date, but allows you to customize for WP to Twitter.


  • Fixed issue with spaces in hashtags.
  • Added configurable replacement character in hashtags.


  • Revised the function which checks whether your Tweet is under the 140 character limit imposed by Twitter. This function had a number of awkward bugs which have now (hopefully) been eradicated.
  • Revised the tags->hashtags generation for better reliability. Fixes bugs with failing to send hashtags to Twitter if they haven't been saved and allowing hashtags on scheduled posts.
  • Option to use WP default URL as a short URL. (http://yourdomain.com/yourblog/?p=id).


  • Minor code cleanup
  • Fixed uncommon bug where draft posts would not Tweet when published.
  • Fixed bug where #title# shortcode wouldn't work due to prior URL encoding. (Also covers some other obscure bugs.) Thanks to Daniel Chcouri for the great catch.
  • Added new shortcode (#category#) to fetch the first post category.
  • Provided a substitute function for hosts not supportin mb_substr().
  • Fixed a bug where a hashtag would be posted on edits when posting updates was not enabled for edits.
  • Put Cli.gs change revisions on hold barring updates from Pierre at Cli.gs


  • Because that's what I get for making last minute changes.


  • Due to a large number of problems in the 1.4.x series, I'm launching a significant revision to the base code earlier than initially planned. This is because many of these features were already in development, and it's simply too much work to maintain both branches of the code.
  • Added option to export settings in plain text for troubleshooting.
  • Simplified some aspects of the settings page.
  • Added custom text options for WordPress Pages to match support for Posts.
  • Improved tags as hashtags handling.
  • Added the ability to use custom shortcodes to access information in custom fields.
  • Improved some error messages to clarify certain issues.


  • Fixed a bug which allowed editing of posts to be Tweeted if status updates on editing Pages were permitted.
  • Fixed a bug in the support check routine which caused all Cli.gs tests to fail.
  • Streamlined logic controlling whether a new or edited item should be Tweeted.
  • Added Italian translation. Thanks to Gianni Diurno!


  • Was never supposed to exist, except that I forgot to include a backup function.


  • Added German translation. Thanks to Melvin!
  • Fixed a bug relating to missing support for a function or two.
  • Fixed a bug relating to extraneous # symbols in tags


  • Adds a function to provide PHP5s str_split functionality for PHP4 installations.


  • Actually resolves the bug which 1.4.6 was supposed to fix.


  • Hopefully resolved bug with empty value for new field in 1.4.5. It's late, so I won't know until tomorrow...


  • Resolved bug with extraneous hash sign when no tags are attached.
  • Resolved bug where #url# would appear when included in posting string but with 'link to blog' disabled.
  • Added expansion of short URL via longURL.org stored in post meta data.
  • Resolved additional uncommon bug with PHP 4.
  • Added option to incorporate optional post excerpt.
  • Better handling of multibyte character sets.


  • Resolved two bugs with hashtag support: spaces in multi-word tags and the posting of hashtag-only status updates when posting shouldn't happen.


  • Resolved plugin conflict with pre-existing function name.


  • No changes, just adding a missing file from previous commit.


  • Revised to not require functions from PHP 5.2
  • Fixed bug in hashtag conversion


  • Added support for the Bit.ly URL shortening service.
  • Added option to not use URL shortening.
  • Added option to add tags to end of status update as hashtag references.
  • Fixed a bug where the #url# shortcode failed when editing posts.
  • Reduced some redundant code.
  • Converted version notes to new Changelog format.


  • Revised interface to take advantage of features added in versions 2.5 and 2.7. You can now drag and drop the WP to Twitter configuration panel in Post and Page authoring pages.
  • Fixed bug where post titles were not Tweeted when using the "Press This" bookmarklet
  • Security bug fix.


*Bug fix release.


  • Bug fix: when "Send link to Twitter" is disabled, Twitter status and shortcodes were not parsed correctly.


  • Bug fix: html tags in titles are stripped from Tweets
  • Bug fix: thanks to Andrea Baccega, some problems related to WP 2.7.1 should be fixed.
  • Added optional prepend/append text fields.


  • Added support for shortcodes in custom Tweet fields.
  • Bug fix when #url# is the first element in a Tweet string.
  • Minor interface changes.


  • Added a #url# shortcode so you can decide where your short URL will appear in the Tweet.
  • Couple small bug fixes.
  • Small changes to the settings page.


  • Modification for multiple authors with independent Twitter accounts -- there are now three options:

    1. Tweet to your own account, instead of the blog account.
    2. Tweet to your account with an @ reference to the main blog account.
    3. Tweet to the main blog account with an @ reference to your own account.
  • Added an option to enable or disable Tweeting of Pages when edited.

  • Fixed scheduled posting and posting from QuickPress, so both of these options will now be Tweeted.


*Support for multiple authors with independent Twitter & Cligs accounts. *Other minor textual revisions, addition of API availability check in the Settings panel. *Bugfixes: If editing a post by XMLRPC, you could not disable Tweeting your edits. FIXED.


*Bug fix to 1.2.7.


*Uses the Snoopy class to retrieve information from Cligs and to post Twitter updates. Hopefully this will solve a variety of issues. *Added an option to track traffic from your Tweeted Posts using Google Analytics (Thanks to Joost)


*Bugfix with XMLRPC publishing -- controls to disable XMLRPC publishing now work correctly. *Bugfix with error reporting and clearing. *Added the option to supply an alternate URL along with your post, to be Tweeted in place of the WP permalink. (Courtesy Bill Berry)


*Support for publishing via XMLRPC *Corrected a couple minor bugs *Added internationalization support


*option to post your new blogroll links to Twitter, using the description field as your status update text. *option to decide on a post level whether or not that blog post should be posted to Twitter *option to set a global default 'to Tweet or not to Tweet.'


*Update to use cURL as an option to fetch information from the Cli.gs API.

Requires: 3.9.2 or higher
Compatible up to: 4.1.5
Last Updated: 2015-4-20
Active Installs: 100,000+


3.9 out of 5 stars


7 of 19 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1
100,1,1 100,2,2 100,3,3 100,1,1
100,1,1 100,4,4 100,1,1 100,2,2 0,1,0 100,1,1
50,4,2 67,3,2 100,1,1
91,11,10 100,1,1
100,1,1 67,3,2 100,4,4 83,6,5 100,6,6 100,2,2 0,2,0 50,2,1 100,2,2 0,1,0 100,1,1 100,1,1
100,1,1 89,9,8 0,1,0
100,3,3 0,1,0 100,2,2 0,1,0 100,1,1 33,3,1 0,1,0 50,6,3 38,8,3 64,11,7
50,4,2 100,6,6
100,2,2 100,2,2
100,1,1 0,1,0 50,2,1 100,3,3 33,3,1 60,5,3
0,3,0 100,3,3 100,2,2
100,5,5 25,4,1 100,1,1 50,2,1 100,1,1
100,1,1 100,1,1
100,1,1 67,3,2 100,3,3 100,1,1 100,1,1 50,2,1
75,4,3 40,5,2 100,1,1 100,4,4 100,1,1 60,5,3 100,3,3 100,1,1 100,2,2 100,1,1 64,14,9 50,2,1 100,1,1
44,9,4 100,1,1 100,1,1 50,2,1 100,1,1
100,1,1 0,1,0 100,2,2 60,10,6 100,4,4 60,5,3 40,5,2 100,8,8 100,1,1 100,1,1 100,1,1
67,3,2 100,1,1 33,3,1 40,5,2 100,1,1 86,7,6 100,1,1 100,1,1 100,1,1 100,1,1
100,3,3 100,1,1
100,3,3 56,9,5 100,1,1 100,2,2 100,2,2
100,2,2 75,4,3 67,3,2 67,6,4 100,1,1 100,4,4 100,3,3 50,2,1 100,1,1 0,1,0
100,2,2 40,5,2 100,3,3 100,2,2 100,1,1
100,2,2 100,1,1 83,6,5 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 50,2,1 100,1,1 100,1,1 100,2,2
67,6,4 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,2,2 75,4,3 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,3,3 100,2,2 100,1,1
67,3,2 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,3,3 100,1,1 100,3,3 50,2,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1