{"id":184,"date":"2011-04-28T18:08:16","date_gmt":"2011-04-28T18:08:16","guid":{"rendered":"https:\/\/2011-fr.montreal.wordcamp.org\/?post_type=wcb_session&#038;p=184"},"modified":"2012-11-21T05:25:44","modified_gmt":"2012-11-21T10:25:44","slug":"plugin-development-demystified","status":"publish","type":"wcb_session","link":"https:\/\/montreal.wordcamp.org\/2011-fr\/session\/plugin-development-demystified\/","title":{"rendered":"Plugin Development Demystified"},"content":{"rendered":"<p><a href=\"http:\/\/yannickcorner.nayanna.biz\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-498\" src=\"http:\/\/2011.montreal.wordcamp.org\/files\/2011\/04\/yannicklefebvre.jpeg\" alt=\"\" width=\"102\" height=\"102\" \/><\/a>For many WordPress users, even seasoned PHP developers, creating new plugins for WordPress seems like a daunting task. After talking about specific best practices in plugin development last year, this presentation will take a step back to show attendees how simple creating plugins for WordPress from the ground up can be by looking at the architecture of a WordPress plugin, from the basic concepts of registering actions and filters to more advanced concepts such as the creation of admin pages and registering shortcodes.<\/p>\n<h3>About Yannick<\/h3>\n<p>A tech enthusiast working in the modeling and simulation software industry, I have been blogging since 2003, started using WordPress in 2004 and published my first plugin, Link Library, in March 2005. Since then, I released six other plugins, all hosted on the official WordPress.org site. I absolutely love using WordPress to develop web sites and find PHP to be a most liberating language compared to more traditional languages such as C\/C++.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For many WordPress users, even seasoned PHP developers, creating new plugins for WordPress seems like a daunting task. After talking about specific best practices in plugin development last year, this presentation will take a step back to show attendees how &hellip; <a href=\"https:\/\/montreal.wordcamp.org\/2011-fr\/session\/plugin-development-demystified\/\">Continue reading <span class=\"screen-reader-text\">Plugin Development Demystified<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":221745,"featured_media":0,"template":"","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_wcpt_session_time":0,"_wcpt_session_duration":3000,"_wcpt_session_type":"","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[165],"footnotes":""},"session_track":[4330],"session_category":[],"class_list":["post-184","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-designers-developpeurs"],"jetpack_shortlink":"https:\/\/wp.me\/p1vvvL-2Y","jetpack_sharing_enabled":true,"session_date_time":{"date":"","time":""},"session_speakers":[{"id":"165","slug":"yannick-lefebvre","name":"Yannick Lefebvre","link":"https:\/\/montreal.wordcamp.org\/2011-fr\/speaker\/yannick-lefebvre\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/sessions\/184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/types\/wcb_session"}],"author":[{"embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/users\/221745"}],"version-history":[{"count":4,"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/sessions\/184\/revisions"}],"predecessor-version":[{"id":554,"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/sessions\/184\/revisions\/554"}],"speakers":[{"embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/speakers\/165"}],"wp:attachment":[{"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/media?parent=184"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/session_track?post=184"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2011-fr\/wp-json\/wp\/v2\/session_category?post=184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}