WordTwit is a plugin that utilizes the Twitter API to automatically push a published post to your Twitter account as a tweet. It allows all your Twitter contacts to keep up to date with your blog postings.
BraveNewCode also has a Twitter account, so make sure you follow us to get all our plugin updates and release information as we announce it.
Sample Output
To install WordTwit, simply unzip the folder into your WordPress plugins directory. From the dashboard, enable the plugin and then configure it from the options panel. You will need a valid Twitter account to configure WordTwit.
Here’s an example of a recent post that was published
to a user’s Twitter feed:
Revision History
Version 2.0.7
- Fixed error message warning when tags or categories are not set on a post
Version 2.0.6
- Updated TinyURL generation with PHP4 routines
Version 2.0.5
- Updated compatibility file to not conflict with WPtouch
Version 2.0.4
- Added compatibility file -- should hopefully fix problems with non standard WordPress installations
- Fixed bug where short URLs couldn't be created in the administration panel
Version 2.0.3
- Fixed MySQL query
Version 2.0.2
- Added POT file, please email translations to inquiry@bravenewcode.com
- Fixed typos
Version 2.0
- Added ability to generate custom tiny urls
- Added ability to add an alternate (i.e. smaller) domain for tiny url generation
- Added integrated ability to track tiny url clicks
- Added ability to include/exclude posts to WordTwit based on tags/categories
- Added ability to convert all content links into custom URLs with link tracking
- Major clean-up and re-styling of the administration panel
- Fixed bug where WordTwit admin panel was shown to all users (whoops)
Version 1.3.6
- Now tested up to WordPress 2.7.1
Version 1.3.5
- Old posts no longer get Twittered when modified or republished
- Slight style fixes in the administration panel
Version 1.3
- Removed dependency on CURL. Now uses Snoopy.
- Substantial rewrite of core WordTwit code
- Awesomified the administration panel

I can’t get 1.2 to work on WP 2.7. It was working on 2.6.x find. I have the lastest copy and the settings are all right and I removed and added it again. Any one else having this problem.
Get me at bobmutch at gmail dot com.
That’s strange, because most people I know using WordTwit are using it on 2.7. Can you give us any more information about what is not working? Is it giving you any error messages?
Hello; would WordTwit be available from the Admin Panel (Install Plugins) of WordPress yet? It seems awkward to have to download and install the plug-in, when WordPress 2.7 has auto-install features these days.
Awesome plugin, going to modify it (when I have time) to integrate SMF Forums with Twitter as well, now that would be awesome!!!
Will this work work WPTouch?
They act independently. WPtouch is more like a theme, where WordTwit is a server-side feature that pushes out links to Twitter. So yes, they’ll work together, but nothing special happens. We have plans to update WPtouch soon to add a list of your recent Tweets in the menu or something.
Hi Duane!
Using 1.3, if I put any international character like áéíóñ on the ‘message’ box, after saving it gets replaced by rare characters… so I cant put any message using my native language :(
Strange. I’ll check the code. I’m pretty sure it’s being published as UTF8, so I’m not sure what the problem is. But I’ll take a look.
@Samuel: You might want to try using the html entity for the character instead.
@Dale: It works ok using html entity ;)
Thanks for the tip!
where does it ask for your twitter url
Hi – Why won’t wordtwit tweet when I’m not watching?
If I update or post immediately on my blog it works great, if I set a blog post in the future, no tweet ever happens – is there a workaround?
Thanks!
Kiki
@Kiki – It’s possible it’s a bug. We’ll take a look in the next few days and see what we can find.
Hi,
I’ve hacked WordTwit about and create WordDent. WordDent notifies Identi.ca when new blog entries are posted. I’d like to release WordDent I can’t find out what license WordTwit is released under. Can you you either let me know what licenses are compatible with WordTwit so I can release WordDent and grant me permission to fork your code for release under a license of my choosing?
Failing that, the changes are minor and it would be easy update WordTwit to support both protocols. I am happy to send you WordDent so you can add Identi.ca support to WordTwit :-)
Hope to hear from you, Martin.
Hi Martin,
WordTwit is GPL, so you could technically fork it if you wanted to. The administration panel would have to be changed so it doesn’t look like WordTwit at that point. Another option would be for you to supply the code and we can possibly integrate it into WordTwit at some point. I’ll take a look at Identi.ca and see what it’s all about.
Thanks!
Thanks for the feedback, I have already modified the WordDent administration panel appropriately. I will package up WordDent and release it some time later this week. I’ll post here when I’ve done that so you can grab the code and integrate it with WordTwit if you want. Identi.ca is an Open Source micro blogging service, it supports the Twitter API which is why converting WordTwit to WordDent was so trivial.
I just wanted to mention, this is the third Twitter plugin I have seen where someone has mentioned scheduled posts are not getting sent to Twitter. And I have noticed that my scheduled posts are not getting pinged correctly. I think there may be a problem with WP’s scheduling set up.
Unlike Kiki above, I’ve found that if I post date an article then the tweet appears straight away on Twitter instead of waiting for the right date, time..
I’m using version 1.3 of WordTwit and version 2.3.2 of Wordpress.
I’m in Cambodia and on the 30th Jan at 09:30 I set an article to post on the 30th Jan at 01:10am in the morning.. My host is based in the USA and so it was still the 29th Jan when I set it.
At my website, when other users log into my wordpress log, under the settings option in the dashboard they have complete control over the WordTwit settings. Is there any way to change this?
Hi Again, My original site started working and then stopped. I have a new site which isn’t tweeting at all. It’s giving me: Warning: fsockopen() [function.fsockopen]: unable to connect to twitter.com:80 in /nfs/c03/h04/mnt/57605/domains/pandaganda.com/html/wp-includes/class-snoopy.php on line 1142
both on the setup page when I post. (using the most current version now with wp2.7)
musthavecute.com <- worked then stopped
pandaganda.com <- never authenticated.
@Kiki – This is a recent issue that seems to affect people on Media Temple. Is that who your hosting is with? Right now Twitter is blocking requests from Media Temple, and we have support requests in at both Media Temple and Twitter.
Yep! You spotted it. Thanks for update. I will continue to check here for infos. ;)
If you open a support request, maybe we can generate some momentum to get the issue fixes on their side :) Thanks.
good idea. Will do.
response from MT:
Kiki,
We were provided with very little information to help us narrow down the “basic auth attempts” that were causing Twitter problems and forced them to block a range of IPs belonging to some web nodes. As of last night, at approximately 6:45pm we were unable to find the source of the issue as it had most likely subsided or stopped all together. These types of attacks are very common, and as mentioned already, the quickest solution is to simply ban the source. The attacks are generally an exploited server or site that is running through a list of common user names and passwords, then move on.
Generally, when these types of attacks occur, the source of the attack is notified, and provided a snippet of logs that displays times the attacks occur, source IP, useragent string, or any information of that nature. Because we have a large client base that uses Twitter legitimately, it makes it difficult to find a source based simply on connections to twitter. We have created a tool that should help us track down this type of problem in the future, if we know when it’s occurring. The checking that we have in place needs to be manually implemented, so we will be making a conscious effort to be aware of any notifications from Twitter moving forward.
A notification of our progress with the issue and request to remove the blocked IP range was sent to multiple recipients at Twitter about 10:30 this morning. We have yet to hear anything in return regarding this issue with them. We would like nothing more than to clear this up as quickly as possible with them, people at (mt) use Twitter to. :)
Hey dev team,
I installed wordTwit about 2 weeks ago and for the most part, it was worked great!
Couple questions i’m hoping you can shed some light on if possible.
1. Sometimes wordTwit sends a random blog entry to my twitter page. NOT the one that was just posted. Could that potentially be because whatever this plug is reading from my blog could be messed up somehow ?
2. Since about teh time I installed wordTwit, our google rankings seem to have diminished considerably. Our statistics have increased by a lot but google isn’t giving us the love they were a few weeks ago. Is there ANYTHING that wordTwit does internally that is destructive to the blog ? Overwriting anything ? What exactly does it pull from ? Does it have any confilct whatsoever if my RSS is being handled by feedburner ?
Forgive the ignorance but having a hard time troubleshooting our current SEO and the only change we have made to teh back end of the site in the last 3 months was this plugin. If you have any insight at all, please either post here or send me an email.
Thanks!
@Clancy – WordTwit currently will Twitter any post that has been updated or published and has not previously been twittered. We’re going to be changing it so that it won’t Twitter old posts, so this is a known issue that we’re going to be changing soon.
WordTwit, doesn’t interfere with SEO. All it does is intercept the title of a post as it is published and put that to Twitter. It doesn’t modify any titles, URLs, or post content.
So does this plugin work properly with WP scheduled posts? I used to use another plugin, but it released an update that was supposed to (but didn’t) fix the scheduled post bug.
If it does work, I may have found myself a new Twitter plugin!
I’ve heard rumours that scheduled posts have basically stopped working in all of these types of plugins. I know they used to work with WordTwit, so I suspect something has changed in core WordPress. We’ll take a look for our next release to see if there’s a work around.
Just to update — the issue seems fixed on Media Temple now, at least on the clusters we are using.
Seconded! Working again – A W E S O M E ! ! ! :)
Installed perfectly into my site. Easy to use and works great. ;)
Would it be possible to add a admin panel option for disabling the “has_been_twittered” metadata in a future version?
I can see the use for it, but I also have a requirement to disable it on some sites.
Of course I could hack the source, but then I would have to remember to do it again after every upgrade.
Otherwise this is an excellent plugin. :)
@Diaan – I’m just curious why you want to remove that? Internally WordTwit uses that to determine when posts have been published or not so as to avoid publishing it twice. Why would you want to disable it?
How do I enter my Twitter username and password?
Richard, WordTwit has an admin panel. Look for in in the Settings area of your WordPress admin.
@Dale
Thanks. Now I see it!
Dale, is there a way to just make a twitter post instead of a WordPress post with this plugin? Please tell me how I can accomplish this if it’s possible. Thanks.
Is it possible for WordTwit to add an excerpt from a particular custom field for each post that it publishes to Twitter?
The problem is that there’s only 140 characters in a Tweet, and between the URL and the post title, most of the time a lot of that space is taken up. I’d rather not add a pile of features considering people can simply manually Tweet when they want something special to happen.
I was checking my subscribers “admin” panel and noticed that they have access to edit the wordtwit plugin. Is this a permissions issue that i have set wrong (and how do i fix it) or is this the plugin itself?
thanks in advance
Hi,
could you please make sure that your little contraption plays more nicely with JSON. My parser hiccups whenever I receive a JSON from twitter that contains a tweet from one of your users. Typically if your user inserts colons followed by quots into the tweet (:”). Since other feeder apps don’t cause such problems, one must assume that it’s your thingy that either inserts strange characters or does not escape problematic characters properly.
Thanx
Bernhard
Sure, I’ll take a look at it for the next version.
If I fill in my credentials I still get the “Sorry, the credentials you have supplied are invalid.
Please re-enter them again below. ” message. I’ve used the exact same credentials at both the Twitter page and Tweetdeck, and quadruple-checked em. Any thoughts on this?
Using 1.3.6 on Wordpress 2.7.1
Hmm, I haven’t heard of that problem before. Can you try again a bit later — it’s possible that you somehow exceeded the Twitter API limit and it was failing because of that. If you still have the problem I can try to debug on your site possibly.
Hi!
Can I tweet something else besides title or permalink from my blog? For example certain custom fields? Thanks a lot.
Hi Chrismexx,
Unfortunately right now you can’t, not without changing the code. We don’t have any plans to modify the behavior at this point, as the primary function of WordTwit is to publish permalinks and titles.
I’m down with the title and permalink, by the way. annoyed the crap outta me when i was using another twit plugin that put a coupla words from the post in.
i just installed (and quickly uninstalled) new version … upon activation it told me to check my php server manual for the “right syntax to use near ‘table wp_tweet_urls’ at line 1″and then something about “describe ‘table wp_tweet_urls’” after that and then a bunch more error code messages that I didn’t write down when I moved past the plugins page. php server version is 5.0.77 … should I have the hosts upgrade and would that fix the problem or is there something else?
Upon installing 2.0.2 automatically via the plugins page, its now splurging this error on every page on my site:
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table wp_tweet_urls' at line 1]
describe table wp_tweet_urls
WordPress database error: [Table 'wp_tweet_urls' already exists]
CREATE TABLE `wp_tweet_urls` (`id` int(10) unsigned NOT NULL auto_increment,`original` varchar(128) collate utf8_bin default NULL,`url` varchar(7) collate utf8_bin NOT NULL,`views` int(11) NOT NULL default ‘0′,`post_id` int(11) NOT NULL default ‘0′,PRIMARY KEY (`id`),UNIQUE KEY `url_index` (`url`),KEY `original` (`original`),KEY `url_index_2` (`url`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Seems like there was an error in the MySQL syntax used to figure out of a table exists in the database. I just increased the version to 2.0.3 in the repository — check there in about ten minutes and see if that fixes your problem.
Works great, thank you
2.03 did it. Thanks Duane.
Just updated from 1.3 to 2.0.3 – I was able to put in my “Twitter crendentials” but after saving them only got blank emptiness displayed below the header (support/latest news/donate). So I can’t change any settings (because they’re not there!) De- and reactivating did not solvie this and new posts are not submitted to Twitter. What’s wrong?
Can you take a screenshot of the administration page, along with a cut/paste from “View Source” in your browser, and email both to me -> duane [at] bravenewcode [dot] com
Wordpress is 2.7.1, Wordtwit is 2.0.3. The login is correct, my twitter account with title, description and number of followers are showing in the admin section. But since the wordtwit upgrade two days ago, no more posts are showing on twitter. What is going on? No messages in the logs. Can you help me out here. On two other blogs the same is happening now (one wordpress 2.7.1, one 2.7)
Im having the same problem as Christian.
I just installed Wordtwit, put all my credentials in and it sees my account details, I did a post and nothing has appeared on Twitter.
Any suggestions to fix this would be much appreciated!
Thanks – Andrew
Awesome plugin!
Installed just fine, easy to use and works great on my site.
Now I don’t have to use TwitterFeed any more… :)
I found the title and permalink only restriction a little limiting, so I’ve just been doing some hacking. Whilst hopefully preserving backwards compatibility, this patch adds some new behaviour. If your message field includes the string [prefix], the rest of the message will be treated as a prefix to a format of “title: excerpt link”. The excerpt (and title, if it’s really long) are truncated so that the prefix and link can be added within the 140 characters.
[code]
--- wordtwit.php.orig Sat May 2 09:09:32 2009
+++ wordtwit.php Sat May 2 10:00:48 2009
@@ -324,9 +324,28 @@
if ( $has_been_twittered !== 'yes' && $can_tweet ) {
$i = 'New blog entry \'' . the_title('','',false) . '\' - ' . get_permalink();
$message = $settings['message'];
- $message = str_replace( '[title]', get_the_title(), $message );
- $message = str_replace( '[link]', wordtwit_make_tinyurl( get_permalink(), true ), $message );
+ #### CMH hack to include excerpt ####
+ if (preg_match("/\[prefix\]/", $message)) {
+ $message = str_replace('[prefix]', '', $message);
+
+ $tinyurl = wordtwit_make_tinyurl( get_permalink(), true );
+ $message .= get_the_title() . ": " . get_the_excerpt();
+
+ # truncate to 140 characters if necessary
+ if (strlen($message) + strlen($tinyurl) + 1 > 140 ) {
+ $message = substr ($message, 0, 140 - strlen($tinyurl) - 4) . '...';
+ }
+ $message .= ' ' . $tinyurl;
+
+ }
+ #### End CMH Hack ####
+ else {
+ $message = str_replace( '[title]', get_the_title(), $message );
+
+ $message = str_replace( '[link]', wordtwit_make_tinyurl( get_permalink(), true ), $message );
+ }
+
$twit_username = $settings['username'];
$twit_password = $settings['password'];
--- html/options.php.orig Sat May 2 10:07:55 2009
+++ html/options.php Sat May 2 10:09:35 2009
@@ -150,7 +150,7 @@
-
+
--- lang/wordtwit.pot.orig Sat May 2 10:25:18 2009
+++ lang/wordtwit.pot Sat May 2 10:25:26 2009
@@ -158,7 +158,7 @@
msgid ""
"You can also customize the message Twitter posts to your account by using "
"the \"message\" field below. You can use [title] to represent the title of "
-"the blog entry, and [link] to represent the permalink."
+"the blog entry, and [link] to represent the permalink. If you use [prefix] the rest of your message will be treated as a prefix to a standard format of 'title: excerpt link'"
msgstr ""
#: html/options.php:158
[/code]
Hello. I love this plugin but the local url shortener does not work for me. Here is the short url: http://skipz-gfx.com/ai it is suppose to point to: http://www.skipz-gfx.com/laughing-man-graphic/ but it doesnt work. Do I need to change some settings somewhere for the local to work? I am using a Custom Structure of Permalinks, /%postname%/
Any help would be great.
Thanks,
Ryn Garcia
Sorry for teh double post but I figured it out. My dns doesnt like http:// with out the www in front of the domain. How can I hack the code to have the local url use http://www. instead of http://?
Thank you,
Ryn Garcia
Cool, thanks. In the future, can you please email us patch files, or attach them to a support message? Thanks.
Right now the WWW is stripped from the TinyURLs. We can try to add an option in the next release to let you put it back in.
@Duane Storey: Thank you. If you do that would be great if not, I can figure something else out.
Hey, I think I saw this issue earlier too, but I am putting the correct login credentials and I still get “sorry, the credentials you have supplied are invalid”
Any idea? I don’t think I’ve crossed my API limit.
@Duane Storey:
Mainly I would like to remove the has_been_twittered entry for aesthetic purposes. It is not the sort of metadata I want to display publicly.
@Duane Storey:
Buuut… don’t worry about it. I took care of it easily enough by including a modified the_meta() function in my template.
;)
Hi Duane,
I currently use WordTwit and tinyurl.com shortening method. It works great. If I have a post with a url of http://mydomain.com/hello-world, what’s the resulting url if I switch to using my local domain. Thanks.
There’s actually no easy formula, since it’s based on a MD5 hash. It’ll be something like http://mydomain.com/aC
Great plugin,
Now I have a request – the ability for visitors to be able to get the Short URL that WordTwit provides. Maybe creating a “Tweet This” button at the bottom (or top) of the post with the new URL. this would be perfect ;)
on the computer obviously
=D
Thanks, will be using this Plugin on our site.
@More Christ Like Blog:
I installed it, its active, but it doesnt post in twitter. Anything I have to do?
I’ve same problem as Thoddy. Is there a known prob? Or any tipps?
I tested the whole thing with the WP 2.7.1 (DE), now. The only Plugins I have installed are Akismet, All-in-One-Seo and Wordtwit. Wordtwit found my Twitter account and shows it in “Einstellungen”. I go to “Erstellen”, post a new blog article, it appears on my blog…but nothing happens in my Twitter account. Did I forget any stupid setting? Or what might be the problem? (I don’t want to use any other “twitterfeed”.) ;-)
Take care, Juergen
I’m new to WP, and I don’t speak code or HTML. I got this plugin because twitterfeed grabs EVERY new post on my site, and I want to specify which get tweeted. I installed WordTwit using WP’s automatic installer. I can’t see any way to configure it. The instructions say to configure from the options panel. Where’s that?
John
Hey,
Thanks for this great plugin. I am using it on my WPMU site with no problems. I just have one question. I used the included pot file to translate WordTwit to my language and saved it so I got .mo and .po files. I coped this files to /lang/ dir in plugin directory as wordtwit-sl_SI.* (also tried sl_SI.*) but there is no changes. Is there anything else I need to do to changes the language?
Thanks!