Having worked entirely with Wordpress customisation the past few months, it became quite apparent early on that there are some obvious limitations with the default WYSYWG editor - TinyMCE.
Training clients to use TinyMCE in a CMS environment is pretty smooth right up to the part when I show them how to create a link to an existing page or post. The (reasonable) expectation is that the 'insert link' dialogue should display a list of every page, post or file you've added and created, and then simply select one to make the link.
Unfortunately that's not how it works. Instead Wordpress forces you to either create a list of commonly used links which you can access through the dialogue, or even worse go to a previously created page and copy the URL, then go back to the page you were on previously and paste it in. Both ways are excruciatingly painful, so I thought I'd do something about that.
Introducing Sweet Links
Sweet Links is my first Wordpress plug-in, and it does exactly as the clients expect. It takes about a minute to install and set-up, but bear in mind I've designed this to work with the TinyMCE Advanced editor plug-in, as that's my editor of choice for Wordpress and it lets me pick and chose what I give clients access to. Please note that this plug-in will not work on TinyMCE standard (that might come in a future release).

As you can see from the screenshot it's pretty straight forward. All links are in their own tabs - pages, posts and files (images, documents etc). You can still manually type in a URL if you prefer (like an external link for example).
1 Minute set-up
Assuming you've already installed and activated the TinyMCE Advanced plug-in, then...
1) Download the Sweet Links package here (13k)
2) Go to wp-content\plugins\tinymce-advanced\mce\ and make a backup of the advlink folder (in case you change your mind about this plug-in later and want to go back to the old version)
3) Extract the files from the zip into the wp-content\plugins\tinymce-advanced\mce\advlink folder (over-write anything if prompted)
That's it - you're done.
To try it out just open a page or post and create a link in the usual way, but you'll see my plug-in launch instead of the default 'inset/edit link' dialogue.
Some things to note
I've deliberately left out a lot of features that you might have seen on the old dialogue, like the ability to create pop-ups, open in new windows (target="_blank" is deprecated in XHTML strict anyway), assign classes and ID's etc. This is because there was so much information that even when ignored it's very presence not only overwhelmed the user, but also allowed for potential mischief.
I've deliberately kept it simple and inline with what our clients expect - no fuss - just making links.
!important: You have to use the custom link structure %postname% which can be specified in Settings/Permalinks in the Wordpress back end.
How can you go back to the old version?
If you prefer the original insert/edit link dialogue that comes with TinyMCE Advanced, simply copy all the files you backup up earlier back into in the advlink folder and over-write anything if prompted.
Upgrading
Upgrading is as easy as simply overwriting everything in the advlink folder with any new version you get from here.
Disclaimer
This product is an alpha work in progress and comes with no warranty of any kind, so use at your own risk. Always backup your data before trying new plug-ins. That being said, there's nothing out of the ordinary with this plug-in and I've tested with success in Firefox, IE7 and IE8.
Feel free to report any problems and discuss below.
Download
Change log
- Added preview pane for images, pages and posts
- Improved colour coding
- Fixed IE layout issues
- Fixed error conflicting with other plugins
- Added new tab showing all items
- Made file type descriptions a little more user friendly


Frederico
So far so good I'm liking it a lot. Works just like you say.
Sunday 6th June 2010 | 10:03 PM Reply Comment URL Back to top