WordPress Wednesday: Amazon QuickTags Plugin

Wednesday March 25, 2009

I published a few articles back in early 2005 and late 2006 explaining how you can edit your WordPress quicktags.js JavaScript file to add new buttons to your Edit Post menu. At the time this was the simplest way I knew to change the WordPress interface. Since then, however, every time a new version of WordPress has been released, I’ve been forced to make all the changes again because quicktags.js is one of the internal files that you’re not technically supposed to be editing.

Amazon QuickTagsI (finally) spent a couple of hours a few weeks ago and built a WordPress PlugIn to handle this for me. I also went through the required steps — including researching enough about SubVersion to get the job done — to publish my plugin to the WordPress PlugIns database. That means that now you, too, can add this functionality to your blog.

The most difficult part of writing the plugin was determining how to modify the Edit Post menu in both the WYSIWYG / TinyMCE view and the plain-text / HTML view. Once I was able to do that the rest of it was pretty simple.

In addition to adding two buttons which allow you to quickly generate Amazon affiliate links, this plugin also adds two ‘generic’ buttons — one to create a custom span and another to create a custom div. You can set a default HTML class to these buttons in the plugin’s settings panel. I have the span set by default to be my “dropcap” class and the div set to be my “pullquote” class, but you can set yours to be anything you want.

Get David’s Ultra QuickTags plugin.

Every Wednesday I do my best to provide a helpful WordPress tip.
Subscribe to my feed to stay updated!

Stay In The Loop:

Subscribe via RSS or Email to receive notifications when new posts are published.

Or just follow me on Twitter!

{ 2 trackbacks }

Weblog Tools Collection
Thursday March 26, 2009 at 1:56 pm
bloground.ro
Friday March 27, 2009 at 1:56 am

{ 10 comments… read them below or add one }

1 Willis Whitlock Thursday March 26, 2009 at 5:46 pm

This is great. Just what I need.

2 alex Friday March 27, 2009 at 7:01 am

great article. thank

3 ella Saturday April 11, 2009 at 5:15 am

Hi. The plugin is working but is there a way to prevent the Buy @ Amazon title? I removed it manually — no big deal — but I know I’ll forget sometimes and it’s a bit too brash for me. Also using Thesis, btw.

Thanks!

4 dvg Saturday April 11, 2009 at 9:11 am

Hey ella,

I updated the plugin so that the TITLE tag is now a Javascript prompt instead of always defaulting to “Buy @ Amazon”.

Grab the latest version (1.0.30) and you should be happy.

5 ella Saturday April 11, 2009 at 12:03 pm

You’re a doll. Thank you so much!

6 ella Sunday June 14, 2009 at 4:48 am

Hi, David. Just a quick note to say all is fine with this plugin with 2.8 and 1.5.1. I thought for sure I’d rated this in the extend/plugins listings. Now I have. (5)

7 baron Tuesday June 16, 2009 at 8:13 am

Works great, thank you

8 Micah Friday October 2, 2009 at 2:37 am

David, I think you’re totally on the right track. I’d LOVE to see more custom buttons and combining this with the TinyMCE Advanced plugin until TinyMCE matures to become a better product.

Take a look at my ticket to see a broad view of what I think Wordpress should be doing. I’d really like to see a radical change in functionality in the long-term, and would be even more thrilled to see this happen by beginning of next year.
http://core.trac.wordpress.org/ticket/10753

Anyway, until then, I can easily come up with some ideas for your plugin to supplement TinyMCE Advanced to make it a better editor for all people!

9 Karin Tuesday October 6, 2009 at 12:57 pm

I would LOVE to use your plugin, but unfortunately I’m getting javascript errors. TinyMCE will not even load. Firebug shows the errors:

missing ; before statement
var alassociateid = ’settings['amazonlink']['associateid']; ?>’;

j is undefined
var tinymce={majorVersion:”3″,minorVersi…nged();return true}return false})})();\r\n

I’m not sure where the second one is generated, but the first error is for sure somewhere in your plugin. I am not very good with javascript so I could not find the typo. Please help?

10 Ray Tuesday October 6, 2009 at 4:31 pm

Is it possible for you to create a plugin that lets you add new buttons, or let me know how I can modify the existing buttons?

Cheers.

Leave a Comment

Previous post: Daily David

Next post: Daily David