WordPress Plugin – My Link Order

My Link Order allows you to set the order in which links and link categories will appear on your WordPress site. Uses a drag and drop interface for ordering. Adds a widget with additional options for easy installation on widgetized themes.

7/2/11: WP 3.1.4 broke the plugin. The newest version of the plugin (3.1.4) fixes this, but might require changes on your end. If you use widgets then you are good to go. If you use wp_list_bookmarks in your template, then just change that to mylinkorder_list_bookmarks(). It does the exact same thing, but allows the custom ordering.

Download here: My Link Order – WordPress.org Plugin Directory

Want to make a donation?

Installation Help (thanks to Ken down in the comments)

Step One: Go to “Widgets” under the “Appearance” tab. Drag the “Links” widget off the sidebar in order to deactivate it. Then, drag the “My Link Order” widget where you want your links to appear.

Step Two: Click on “My Link Order” to get to the settings. Be sure to set “Category Order By:” and “Link Order By:” to “My Order.” This is what allows you to set your links in whatever order you want the widget to display them in.

Step Three: Click on “My Link Order” under the “Links” tab. In the lower section are your link categories, in boxes. Drag and drop these to order your categories, and then click on the button “Click to Order Categories.” Now your categories will be in the order you want them.

Step Four: in the upper section, under “Order Link” click on the drop-down menu in order to select which category you want to order first. Then click on “Order Links in this Category.” Your links will then appear in little boxes and the widget will say “Order the links by dragging and dropping them into the desired order.” Do so. Then click the button below that says “Click to Order Links.” The links in that category will now be in the order you select. Click on the “Go Back” link to order the links in your other categories the same way.  (You need to do this for each category, unless you have a category you don’t care about the order of.)

Plugin Info

My Link Order was released in 2006 and has been compatible with every version of WordPress from 1.5 to 2.8.5. It went through a lot of changes, but the effort needed to keep it backwards compatible was quite burdensome. Breaking support for versions of WP older than 2.8 allowed for the inclusion of a more powerful widget and the removal of the horrible taxonomy.php patch (believe me I hated it more than anyone).

The most exciting change comes with the move to the new Widget API. It makes adding support for multiple widget instances a snap. Rewriting the widget code also allowed me to add widget options for nearly every single parameter normally available to the wp_list_bookmarks template function. If you were being held back by the lack of options on the built in Links widget then definitely check that out.

If you’d like to say thank you or make a donation please visit my Gifts and Donations page.

All of the old comments were moved to this page: My Link Order – Archived

Looking for fast, reliable and affordable web hosting? Try StableHost.

Read my StableHost review with the latest coupons

158 Replies to “WordPress Plugin – My Link Order”

  1. I struggled with this quite a while and finally found “the secret”.

    The missing part not mentioned in the Steps 1 – 4 is that all boxes in the “Links” plugin needed to be unchecked. They were checked by default, and even though I had dragged it to the area to deactivate it, somehow it was still controlling things as long as the boxes where checked.

    Also, I had to make sure I checked the boxes in the “My Link Order” plugin.

    I was a gnat’s hair close to walking away from it as a lost cause, but I’m glad I persisted. I hope this helps someone else out like this site has helped me.

    All the best to all you WP’ers,

    Kurt in the Great Smoky Mountains in Tennessee

  2. Excellent plugin!!! Works fine on WP 3.1. But I thinked of some enhancement. Can you, please, add an option to colour or mark out some links instead of default colours? Thanks in advance!

  3. Congrats on the great plugin. There is one issue that I see in your implementation. I cannot add a link to more than one category and have it be a different order since the value is saved within the links table in the column link_order. Instead save your order within the relationships table per category.

  4. ?????? (495) 502 51 16 ??????????? ????, ?????????? ???????? ? ?????? ?? ??????????? ??????????. ????????? ??????????? ????, ????????? ?????? ???????????? ????????????.

  5. I just installed this in WordPress 3.1.2 and I’m using the thematic theme. The links do not order in the sidebar using the links widget.

    Does the plug-in not work in 3.1.2 or is it the theme possibly?

    Any advice would be appreciated as this is driving me insane.


  6. Well I must have been seeing cross-eyed. I too didn’t realize that there was a new widget to use. Sorry about that.

    Might be good to some big juicy text to the order page in the CMS so it’s obvious.

    thanks, and love the plug.

  7. I’m changing the order of blogroll and photographers placing photographers ahead of blogroll in your plug in but it is not changing on the homepage. Appreciate your help. Thanks.

  8. Yes, this is a good plugin, BUT it suffers what many projects do: clear and complete documentation.

    Exclude Categories option says below it: Link Category IDs, separated by commas. Another person asked earlier, like a couple of years ago, what a link category ID is and how to find them for our categories. We want to put in an ID, but don’t know which is which for our categories. There was no post by the author. Probably you are emailing people, but that is useless to the rest of us and counter-productive to the idea of comments.

    PLEASE post here an answer. Thank you.

  9. Found it! When you see the list of Link Categories in the Admin Panel, hover your mouse over the Edit below the category and look at the link info in the status bar of your browser. Find the info tag_ID= and that number is the ID you need to use.

    How obtuse! Why not have the widget give checkboxes of the link categories so we can unmark them or in the screen where we can drag and drop to order them have the delete or hide option? Ridiculous! I thought this was a good plugin, but it is unfinished, as so many are, and dormant.

  10. In all fairness, these plugins are free. When we make professional sites for clients the programmers custom make plugins and widgets that function with all the features needed. In our cases, for our personal sites where we might not be able to afford the development, we use these free plugins. I’ve worked with numerous developers over the years and usually these free plugins come out of client projects where only specific features were needed. The clients give them permission to release them or they just whip these up in spare time as they need them.

    If you want full functionality you desire for your site, find a programmer to customize the plugin further. They won’t need to build it from scratch and can adjust the existing code. So it shouldn’t cost very much. You can find people on places like scriptlance.

    I agree there could be more features, but it’s not cool to bitch at the guy when he provided this to us for free, and I bet most here aren’t donating any cash, as is the case with many free plugins for wordpress.

    It’s also not his fault that you didn’t know to hover to find IDs. I admit it’s stupid, but that’s a problem with wordpress, not his plugin. It’s been like that for years and is easy to find in the codex. Even wordpress is free. If you had all of this stuff custom built you could easily spend $50k-$100k or more depending on the specs. When you are getting open source software it is what it is. If you want things precisely tailored for your specific needs, pay for it.

  11. Quit crying about whether something is free or not. Have some self-respect. A person’s work is still his or her craft whether or not they get paid for doing it. They chose to release it without pay and to release it for use by the public. So criticism goes hand in hand with praise. It has nothing to do with pay. It has to do with work and use and respect.

    As for the fact that this has been the same for years, it goes to the heart of my complaint. Knowing this is the way it is and making an INTERFACE for the user, he should have placed checkboxes ( a mere couple lines of code ) to inter-act with the very thing he designed it for. The users are not programmers and the interface is for the general public. So we cannot be expected to know this secret formula embedded in a long url string. He should have at least documented it, and you can’t argue with that.

    Btw, this is not a feature. The feature is there, but incompletely implemented, or arguably incompletely documented. Either way, it is incomplete. That would be fine, except that this is one of the primary settings.

  12. You’re all tough guys clacking on your Sony Vaio keyboards and my how it dwindles when you get out to the street. There’s plenty of respect on this side of your digital safety net. It’s the opposite direction where it lacks, skeeter.

  13. Bob,

    1. I don’t have time to implement new features in the plugin and barely have enough time for support. Would you like to tell my family that I’m spending too much time with them?

    2. All of the features in the widget are just exposing parameters built into core WP functions (wp_list_bookmarks in this case). All these parameters are documented on WordPress.org. If you use the built in WP widget then you get zero access to those parameters. The only other official way of doing something like excluding links is to modify your theme and hardcode it in PHP.

    3. It would not take “a mere couple lines of code”. The string you enter now is passed straight into a call of wp_list_bookmarks with zero intervention on my part. I would have to build a list of checkboxes, parse the selections coming out and going in and then build the list for the template function call. But you can include/exclude links and their categories so that’s four lists to display. If you select a parent link category that must mean you want to exclude/include its children as well. So I have to write some JavaScript to go through and check all of its children categories. And if you “include” anything then “exclude” is ignored and I have to write more code to handle that properly so the general user isn’t confused about what’s actually happening. So I just wasted a bunch of my time adding a bunch of code to my plugin that hardly anybody will ever use. Awesome.

    4. If you don’t like it I will gladly charge my usual $50 per hour freelance programming rate to implement the feature for you. If you don’t want to do that then go make some noise with the actual developers of WP for not including any of this functionality and forcing people to know the “secret formulas” which are all documented in the wikis:


    5. This plugin is almost 6 years old and stable. Does that meet your definition of “dormant”? Between my 3 plugins I’ve probably spent upwards of 1,000 hours on development and support. You are correct that most replies were done by email because I found it much easier to manage and most people don’t go back to check after leaving a comment. Don’t like how I run things on my site and on my plugin? Tough. Don’t tell people what they SHOULD be doing when they are providing you something useful for free.

    Seriously, a simple “thanks for the plugin, where do I find the link IDs” comment would have gone a long way.

  14. I see a lot of assumptions here. People don’t go back and read when comments are added (it’s their fault), you give out a lot of support that robs you of time to finish the interface (it’s their fault), you only have what WP makes available to you (it’s WP’s fault), I should pay you to finish it (it’s my fault you didn’t do it), everything you did is finished and perfect, flawless in fact (it’s been used for 6 years by people suffering enough to need so much support that you cannot finish it – they are ingrates for taking your time when the plugin is so stable and so good and so obvious to use). What you have said is full of smoke and contradictions.

    BUT I have to say, thank you for creating it in the first place. At least there is something a step up from the default. I do know how much time goes into such a small project and I am sure you felt it in your family life. Don’t take the criticism so hard.

  15. Bob…you’re the one that called it dormant, unfinished, and requested features in WordPress that the developer has no control over. Stop trying to veil “being a jerk” with “giving criticism.” After all, if that was your only intention, seems you would have been more than happy to apologize to the developer for all YOUR assumptions, which you haven’t.

  16. Calling up the name of the link from the ID is not so difficult a programming task and is not out of the control of the developer. Instead of finishing this plugin or at least DOCUMENTING for new users of it how to find the ID, the developer went on to developing other plugins. I would call that dormancy of product development ( =inactivity in the development of the product – look it up).

    The least that could have been done is a simple documenting in the FAQ questions, because by my count it is the #1 asked question here. So criticism was appropriate.

    How the criticism is taken is up to the developer. He can take it or leave it, but to attack someone who is just starting to use his product rather than retaining the neutral business stance, but addressing the issues this way, is just unprofessional.

    To make excuses rather than admit that he simply chose not to document this problem, even if it is something too difficult for him to find time to write the work around for, is unprofessional. Criticism of a product, free or not, is not unprofessional.

    It is the right of the customer. And yes, I am a customer even if I don’t have to pay. Law gives implicit rights even when the product or service is free, which dictates certain ethics in the behavior toward the customer, besides, it is good business to relate well toward the customer, especially one who has some problem with your product. The fact that there is no money made off it immediately, is not an excuse to react and get defensive.

  17. Andrew, thank you so much for creating this plug-in! I was able to accomplish exactly what I wanted to do: Re-order the blogroll menu items (using WordPress and Prophotoblog.) The drag & drop interface was dead simple. You have saved me a ton of time.

  18. hey andrew,

    this plug-in will definitely help me manage my top 5 favorite undershirt list in my right sidebar, but i do have one question.

    does your plug-in allow me to embed a certain blog roll within a post or page? my top 5 list is implemented via the blog roll/links using category “top 5”. i have some people visiting via mobile and searching for “top 5”, but since the list is implemented via links, there are no search results.

    was hoping to avoid duplicating the list and simply embed a certain category of links within a post or page.

    does your plug-in extend past the widgets/ordering facility? if not, would that need to be custom coded?

  19. This is really amazing and helpful plugin. Thans for great job and for great tool. Cheers.

  20. I like this widget, but is there any way to have a links widget that simply places the newest link at the top of the links list?

  21. I took down all my “links” sections from my entire blog, and although I put the “My Link Order” widget into the correct sidebar and try to include or exclude certain categories of links, nothing shows up. However, if i leave everything blank, and just display them all, all of my links show up.. Any thoughts?

  22. I’ve seen some people ask about getting the links list in My Link Order to display on a page instead of the sidebar — has anyone found a solution to this? I don’t think it would be that hard to add short code functionality, but I’m wondering if anyone else has done this…


  23. Hi Tug —

    Have you found a solution to display the ordered links in a page? I’m also trying to do this. Thanks!


  24. I just updated to WordPress 3.1.4. tonight, and now the links in my sidebar categories are being ordered alphabetically instead of the order I stipulate in the My Link Order plugin. This has only happened since I updated WP tonight. Before updating, the plugin was correctly ordering the sidebar links (and has always worked correctly).

    I noticed this (the alphabetizing) was addressed in the forum several months ago, but the answers there do not apply, since I have always used the My Link Order widget.

    Also, after the WP update tonight I noticed that there are now 54 My Link Order widgets [!] in the inactive-widget area. I have never put any there.

    Any thoughts?

  25. WP 3.1.4 added code that only allows ordering links in certain ways. I will have to modify the plugin and store the order in the ratings field or something. Or just stop using the built in template functions for displaying the widget. Either way a bunch of work on my end.

  26. Hi Andrew,

    Thanks for this great plugin.
    Shame the new version of WP has stopepd it from working. Why do they do this?

    Please let us know when you’ve updated it so we can download the new version and contune supporting you.

    Many thanks,


  27. Thank you for the quick fix. Much appreciated! (I suggest you put the donate button at the top of this page somewhere. I had to hunt for it.)

  28. Hi Andrew,

    Its not working for me, I installed 3.1.4 and the links went out of order. They showed as if they are in good order in the “My Link Order” widget but on the actual blog it does not appear to be so. I tried saving in the “My Link Order” but the errors are still there.

    Appreciate any help. Thanx.

  29. It doesn’t work with WP 3.1.4 with themes that don’t use widgets. The forum comment to replace the WP link reference is too vague to be of any assistance.

  30. For one of my blogrolls, I create a custom loop using $myLinks = get_bookmarks($argsfix);

    For some reason this doesn’t obey My Link Order. Is there something to replace get_bookmarks()? Here is my full code:

    'order' => 'DESC',
    'limit' => 9,
    'category' => 2263,
    'categorize' => 0,
    'hide_invisible' => 1,
    'echo' => 1,
    'title_li' => 0,
    'show_name' => 1,
    'category_orderby' => 'name',
    'category_order' => 'DESC',
    $myLinks = get_bookmarks($argsfix);
    foreach($myLinks as $myLink) {

    <a class="galleryimg" href="link_url); ?>"><img src="link_image); ?>">link_name); ?>

    <?php if ($count == 3 || $count == 6 ) {
    echo '';}

    } ?>

  31. Robert,

    The breaking change in 3.1.4 was made in get_bookmarks(). The plugin now has it’s own version of the function, mylinkorder_get_bookmarks(), which you can use to get the correct ordering.

  32. Thanks for the quick response! It worked.

    One more question. Each category of blogroll used to have it’s own permalink in the backend, which was very useful, since I have many categories that I am constantly ordering.

    Now, whenever I click on those permalinks, it brings me to the category landing page, asking me to pick a category to sort (or to sort the categories). Is there any way to get a direct link to the administration of sorting a category’s links


  33. This is an awesome plugin which I have been using for a while now. One feature I would love to see, and I can’t seem to find it anywhere else, is the ability to show these links in my sidebar as a dropdown rather than the complete list which is growing all the time!

  34. Hi, Tried updating the wp_list_bookmarks() to mylinkorder_list_bookmarks() and it still is displaying alphabetically. I am using the ProPhoto3 theme. Any ideas?

  35. ????????, ????????? ? ????????? ???????????? ???????? ???????????? ? ?????????? — ??????????? ???????? Barrens. ????????? ???????? ???????? ?? ???????? ?????.

  36. ? ????? ???????? ?????? ???????? ????? ?????? ? ????? ??????? ?? ???????? ?????. ??? ??????????? ??????????? ?? ?????? ???????? ?????????.

  37. Yes write to the person that sold you prophoto3 and ask them about it.
    They have excellent costumer service.
    Any way share if you we a solution thank you.

  38. Dose any one know were do i find this wp_list_bookmarks() to change for this mylinkorder_list_bookmarks() ?

    Is there a page name i download all my wordpress folder but do not know what file to look for.

    Thank you

Comments are closed.