{"id":571,"date":"2006-09-10T17:02:42","date_gmt":"2006-09-11T01:02:42","guid":{"rendered":"\/?p=571"},"modified":"2008-02-09T13:18:32","modified_gmt":"2008-02-09T21:18:32","slug":"wordpress-infocard-integration-code","status":"publish","type":"post","link":"https:\/\/www.identityblog.com\/?p=571","title":{"rendered":"WordPress InfoCard integration code"},"content":{"rendered":"<p><strong>Update:\u00a0 There are now excellent community-based and commercial implementations of Information Card code for WordPress, php, ruby, &#8220;C&#8221;\u00a0and other languages.\u00a0\u00a0I&#39;ve left this zip here for documentary and pedagogical purposes only.<\/strong><\/p>\n<p>\u00a0I&#39;ve been wanting to share\u00a0my experiences\u00a0adding Information Card support to <strong>identityblog<\/strong> for\u00a0quite a while\u00a0now.\u00a0 I just haven&#39;t had the time.<\/p>\n<p>I started by publishing my work on building the necessary code for handling secure identity tokens.\u00a0 But then I got interrupted with the necessities of life &#8211; like shipping Cardspace.<\/p>\n<p>Anyway, now I&#39;m ready to\u00a0present my\u00a0integration code.\u00a0 Very little of it is unique to WordPress &#8211; it is really\u00a0code that would in general apply just as much to any other piece of software.\u00a0 Someone could easily factor\u00a0my code\u00a0so the\u00a0interface\u00a0is a little cleaner\u00a0than is currently the case.\u00a0<\/p>\n<p>When\u00a0I had to actually alter wordpress files (only 3 of them), I just show the changes that are necessary.\u00a0 You&#39;ll have to <a href=\"http:\/\/wordpress.org\/latest.zip\">download the original files<\/a> from wordpress to see what I&#39;m talking about (version 2.0.4) in context (usually not necessary unless you are making the changes in your own version.)<\/p>\n<p><strong>Download<\/strong> my contribution <a href=\"\/wp-content\/resources\/infocard-for-wp-09-18-06.zip\" class=\"broken_link\">here<\/a>.\u00a0 My assumption is that the root of this download is the same as the root of the wordpress directory.\u00a0<\/p>\n<p>[<strong>WARNING<\/strong>:\u00a0 DO NOT INSTALL THE WORDPRESS FILES\u00a0 FROM MY ZIP INTO YOUR OPERATIONAL WORDPRESS DIRECTORY!\u00a0 IF YOU WANTED TO USE THIS CODE, YOU WOULD NEED TO MANUALLY INTEGRATE THE CHANGES I HAVE MADE TO MY VERSION OF THE WORDPRESS\u00a0FILES INTO YOUR\u00a0VERSION OF THE SAME FILES..\u00a0 THIS NO LONGER MAKES SENSE SINCE THERE ARE EXCELLENT (SUPPORTED!!) VERSIONS AVAILABLE. ]<\/p>\n<p>The files all begin with &#8220;infocard&#8221; so they&#39;re easy to delete if you want to.<\/p>\n<p>I&#39;ll be publishing a number of pieces\u00a0explaining why I\u00a0took the approaches it did.\u00a0 I hope this will get some good, concrete conversation going.\u00a0 The first\u00a0in this series\u00a0is uncharacteristically wordpress specific &#8211; don&#39;t get discouraged if you&#39;re looking for something more general.\u00a0 It talks about\u00a0how I approached changing the wp-login\u00a0page.\u00a0 I&#39;m pretty sure that even people thinking about infocard-enabling other products will find some ideas here that help them out.<\/p>\n<p>Like my previous work, you can use this code\u00a0in whatever way you want.\u00a0 My goal is to help as many people as possible understand, use and deploy information cards.<\/p>\n<p><strong>UPDATE:\u00a0 <\/strong>Thanks to <strong>Samuel Rinnetm\u00e4ki<\/strong> for pointing out\u00a0the need to warn\u00a0readers not to install &#8220;as is&#8221; in an operational directory &#8211; it had never occured to me they might do this&#8230;\u00a0 I&#39;ve edited the\u00a0 <a href=\"\/wp-content\/resources\/infocard-for-wp-09-18-06.zip\" class=\"broken_link\">ZIP<\/a> to make this\u00a0impossible (09-02-2008).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Like my previous work, you can use this code in whatever way you want.  My goal is to help as many people as possible understand, use and delploy information cards.<\/p>\n","protected":false},"author":68,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,10,13,14,15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/571"}],"collection":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/users\/68"}],"replies":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=571"}],"version-history":[{"count":0,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/571\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}