As promised, I’ve [released](/projects/) my custom script that imports []( bookmarks into your [WordPress]( blog.

Unlike other plugins, which display your bookmarks as a sidebar element,[](/projects/) actually imports them as entries in your blog, so you can have some [Kottke-style]( inline [remaindered links](

It relies on [MagpieRSS]( to parse any of your []( RSS feeds, which means you can control what bookmarks get imported (some of the other plugins just yank in **all** your bookmarks). I, for example, only pull in entries tagged with [blogmarks](

The motivation behind this script was two-fold:

1. I liked [Kottke’s]( way of presenting links, and I couldn’t find anything like that for [WordPress](
2. I thought it silly to have to post a [blogmark](/blog/category/blogmarks) in both WordPress and in [](

The plugin creates a sane entry body out of each of your bookmarks/entries, plus it also attaches a blogmark_url and blogmark_description custom field to each post, so you can do all sorts of groovy things with your data.

The script both inserts, and updates bookmarks from your []( RSS feed, so []( essentially becomes my [blogmark](/blog/category/blogmarks) posting interface, which I think is cool.

The script is still in beta, seeing as I’m the only one using it at the moment, so please send any feedback or troubles you might have to **del2wp** at **heisel** dot **org**.

So, without further ado, I give you[](/projects/).

P.S. I’m all for a much cooler name, send suggestions to the same e-mail address or add it in a comment. Thanks to [Michael Caldwell]( for this project’s name: [](/projects/).

**Update:** I fixed the broken download link on the [projects page](/projects/).

**Update again:** The script is only for WordPress 1.5.

**One more time:** I just added a zip version of the script, for those without tar.gz capability.

**Why not again:** [I’m looking for some help from folks experiencing the time-shift problem with their blogmarks…](

**Last time:** If you’d like to keep up with work on then subscribe to it’s [RSS feed](

About Chris

Python developer, Agile practitioner trying desperately not to be a pointy haired boss.
This entry was posted in Projects, Bookmark the permalink.

34 Responses to Announcing

  1. Pingback: »

  2. John says:

    I’m getting

    Fatal error: Call to undefined function: parse_w3cdtf() in /home/heschj/public_html/wp-content/del2wp/del2wp.lib.php on line 125

  3. Chris says:

    I should have clarified, requires WordPress 1.5. That fatal function call is a 1.5 function:

  4. N. says:

    As for the cooler name, why not just “blogmarks?” It’s a lot easier to say than

  5. Great script!

    I dunno if it’s cooler, but how ’bout “WordPrecious.”

  6. Chris says:


    Two good name suggestions.

    I don’t want to name it blogmarks, as I think that’s a good general term for posting interesting links to your blog, regardless of method/display.

    But WordPrecious is pretty damn cool. I think that’s its new name!

  7. JD says:

    Wow! Thanks! I was myself planning to write something similar.


  8. JD says:

    I am unable to extract the zip file. Is zip file uploaded correctly?


  9. Chris says:

    JD, the file isn’t a zip, it’s a gzipped-compressed tar.

    I just added a zip file of the script on the [projects page](/projects/), see if that works for you.

  10. kris says:

    hi there. thx for this. i’m trying to install. i get this error after uploading the file and trying to hit it.

    Fatal error: Call to undefined function: parse_w3cdtf() in /home/virtual/site191/fst/var/www/html/wp-content/plugins/del2wp.lib.php on line 125

    do you know what the deal is? can ya help? thx!


  11. Chris says:


    Are you using WordPress 1.5? That function, parse_w3cdtf() is a function defined in wp-includes/rss-functions.php

    If you are using WordPress 1.5, make sure you’ve got your path to wp-config.php set up correctly in del2wp.php. That function is pulled into the namespace when wp-config.php is included.

    If that’s all correct, let me know and we can debug what’s happening…


  12. bwana says:

    hi. does this plugin work when my-hacks.php is being used? i’m getting this warning when executing the page:

    Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at del2wp.php:17) in my-hacks.php on line 19

    I have a session_start(); statement in my my-hacks.php for another plugin i use.

    thanks for a great idea for a plugin

    – bwana

  13. Chris says:


    Nope, there’s an errant whitespace in the code that was causing the carriage return to be sent, and thus prevent sending any headers…

    Try re-downloading it and see if that helps.

  14. Pingback: Jack Cheng »

  15. Meredith says:

    Wow thanks for this! Just saved my coding life for an upcoming project. I’ll link you to it when it’s done 🙂


  16. seyd says:

    Fatal error: Call to undefined function: parse_w3cdtf() in /home/.zachy/seyd/ on line 125

    Using WP 1.5 and path to wp-config.php is correct. What’s wrong?

  17. Rogier says:

    Different parse_w3cdtf error here:

    Fatal error: Cannot redeclare parse_w3cdtf() (previously declared in /Users/Rogier/Sites/hivemind/blog/wordprecious/del2wp.lib.php:8) in /Users/Rogier/Sites/magpierss-0.71.1/ on line 25

    Any tips? Using WP 1.5 and (obviously) magpie 0.71.1

  18. Chris says:


    Try downloading the file again… I duplicated the function but gave it a new name and changed all references to it.


  19. Rogier says:

    Thanks, it works now!

  20. Elaine says:

    Very cool! How hard do you think it would be to have the entries go automagically into categories with the same names as the subject tags? (I’m thinking about hacking it off of your plugin, but I’d be curious to get your POV first.) Thanks. 🙂

  21. Pingback: Jeremy’s Little Corner Of The Web… » Blog Archive » Asides changes

  22. Chris says:


    That’s a great idea. I think I want to stabilize 1.0 so I can remove the ‘beta’ label.

    It won’t be too difficult to accomplish, but since it’ll require touching the BlogmarkFactory and WordPressImporter classes, I’d prefer to save it for a version 1.1 release.

    Obviously, you’ve got [Freedom 0](, with [](/projects/) so I won’t stop you 🙂

  23. Tamara says:

    Can you give us an example of how you formatted the links in your blog?

  24. Jack says:

    The bookmarks aren’t showing up in my blog for a full 5 hours… do I have to change the time zone offset somewhere?

  25. Clark says:

    As long as we are making requests like “ tags categories” how about ditching RSS for API. That way we could grab more than 30 delicious links. There is a limit when using and RSS. See this post form the mailing list! Waiting axoiusly licking my chops for 1.1!!

  26. Chris says:


    I’ve posted the relevant theme code that controls my [blogmark display](/code/entry.php.txt)

    If you’d like to have a similar presentation…

  27. Chris says:


    You shouldn’t have to change any timezone offsets… the WordPress post based off your bookmark should have the same time as the bookmark.

    Look at the entry in WordPress and the entry in is there a time mismatch there?

  28. Chris says:

    Also, for those interested in the development and future features of, I’ve got a [roadmap]( page up, with commenting turned on.

    So please file all feature requests/comments to that page…

  29. Pingback: le blog à Ollie »

  30. Pingback: » Blog Archive » links for 2005-06-22

  31. Pingback: Join the Digirati » Blog Archive » Announcing

  32. I prefer everyone to read this article.

  33. Pingback: Absolutely Tools Collection

Comments are closed.