Introducing LinkedIn hResume for WordPress


In the little bits of spare time I’ve had in the last couple of weeks I’ve been working on a new plugin for WordPress. LinkedIn hResume for WordPress grabs the hResume Microformat block from your LinkedIn public profile page allowing you to add it to any WordPress page and apply your own styles to it.

Ever since I attended the Web Directions North conference a few weeks ago, I’ve been thinking a lot about microformats and practical uses. In fact, I’m already working out the details for my next WordPress plugin involving microformats.

I have to confess, I kind of cheated a bit with this release of LinkedIn hResume. It doesn’t do any parsing. It just uses regular expressions peel away the junk around the hResume block of markup. I did check out some PHP microformat parsers but either they didn’t support hResume or they required some non-standard PHP module. I was impressed with hKit but it requires PHP 5 (which I’m starting to think is good enough). I started to work a bit with DomIt! but gave up because LinkedIn’s XHTML does not validate and doesn’t parse well. I’ve since found out I could just run it through Tidy first, so I may give it another shot. I’ve also been considering the advantages of writing a recursive descent parser specifically tuned for microformats. We’ll see.

  • Brad,

    Very nice! The whole microfomats topic also kinda got me since I attented WDN. I have not looked at hResume that much, cause I have not used LinkedIn extensively. At least I want to publish my contact details as an hCard on my website some time soon 🙂

  • Heavens to betsy, who cares about PHP4? =)

    Heh, Kidding. I’ve always thought the best way currently to handle xml parsing in PHP across 4 and 5 is to implement a (slow) php4 expat base parser, and use simplexml if in PHP5. Hell, wordpress should do this for you and hand you a nice, sensible array.

  • Pingback: » Blog Archive » Linkedin resume on your blog - making the Semantic web (find) work for you!()

  • This is very nice. To make this really popular, you could generate a graphic UI to replace the linkedin’s address and the person’s name inside WP.

    Another nice feature would be to let you choose the colors for the different elements from that same graphic UI, without using templates. (I bet most of the people don’t understand the coding)

    And… the ultimate version, could let you choose which elements you want to display on your blog’s resume. (i.e: If you are already on the blog watching this… why would you want to display the blog address from the linkedin’s “websites”

    In addition, it would be also nice to be able to include extra text on the top or the bottom. (i.e. Besides having the CV, I like to provide a link to download a nice pdf version.

    Thanks Brad, good work!

  • Hello.
    First, I wanted to thank you for offering this very usefull tool.

    But I face a misterious behavior while I set up the pluging on my WP blog.

    The URL of the page :
    As you can see, the hresume is not taken in account; you can only see the code “”

    At the bigining of the plugin code, I wrote :
    $linkedin_url = ‘’;
    $lnhr_your_name = ‘François-Xavier Bodin’;
    That match my data at LinkedIn.

    The mistery is that if I let your data (original plugin code before I customize my LinkedOn adress and name), the plugin works perfectly!

    I have spend hours trying to figure out whether there are any differences between your public profile’s code and mine… none found.
    I have also tried the plugin on another server, with WP cache enabled and disabled; same result: your resume is correctly parsed and displayed, while mine is not.

    Could you please help me making it work with my resume?
    Thanks in advance.

  • Thanks Brad for handling my problem. My resume is now well parsed and displayed by your plugin.

  • Pingback: Chef de produit Web, information architect, AMOa de projets NTIC()

  • Firstly, really great plugin, I absolutely love it!

    One questions I did have, however… are you aware of a script that is available to do a similar thing that does not have to be included in a WordPress installation? I’m currently designing a non-Wordpress site and I want to include a LinkedIn hResume in it, but this is the only parser I have managed to find so far.

    Any help you might give would be appreciated.

  • Hi,

    I just installed your wordpress plugin and find it really great. However I have a small issue, which is propably linked to my theme (but I am not really at ease with CSS and stuff like this).

    If you check this page :

    you’ll see that some text goes beyond the boundaries of the page. Any idea how I can fix that ?

  • great plugin! loved the concept…

    when i activate it, my right navbar goes in the bottom and the layout goes haywire…

    note: tried removing the div

    $hresume .= “”;

    from the lnhr_stripout_hresume function, does not work

    am not really a css guy…any guesses what the problem might be?

  • Hi,

    A great, great plugin!!! Well done!!!

    A question. Can the hResume data be sored in the WP database? WordPress MU especially, with BudyPress on it, has the extensible xProfile plugin that could create tables and fields to host that data about the user.

    Any plans in going in that direction in the future?


  • I just wanted to say great job on the plugin. I took the liberty to add a few new features on my site,

    I went looking for a plugin awhile back to fulfill a simple requirement of mine – make it easy to keep my resume up to date. The hResume plugin has fulfilled this need. I had a few extra things I wanted to get out of it, such as export to PDF and experience tag clouds. These aren’t, as far as I can tell, in the initial intentions of this plugin, but were beneficial to me.

    Nice job and thanks!

Comments Elsewhere