{"id":398,"date":"2017-07-03T23:26:32","date_gmt":"2017-07-04T03:26:32","guid":{"rendered":"https:\/\/2017-fr.montreal.wordcamp.org\/?post_type=wcb_session&#038;p=398"},"modified":"2017-10-14T22:33:28","modified_gmt":"2017-10-15T02:33:28","slug":"plugin-development-demystified","status":"publish","type":"wcb_session","link":"https:\/\/montreal.wordcamp.org\/2017-fr\/session\/plugin-development-demystified\/","title":{"rendered":"Plugin Development Demystified"},"content":{"rendered":"<p>For many WordPress users, even seasoned PHP developers, creating new plugins for WordPress seems like a daunting task. This presentation aims 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<p><a href=\"https:\/\/www.slideshare.net\/ylefebvre\/plugin-development-demystified-2017\">Slides<\/a><\/p>\n<div id=\"v-QlHj1VRP-1\" class=\"video-player\"><iframe title='VideoPress Video Player' aria-label='VideoPress Video Player' width='524' height='294' src='https:\/\/videopress.com\/embed\/QlHj1VRP?hd=1&amp;cover=1&amp;loop=0&amp;autoPlay=0&amp;permalink=1&amp;muted=0&amp;controls=1&amp;playsinline=0&amp;useAverageColor=0&amp;preloadContent=metadata' frameborder='0' allowfullscreen data-resize-to-parent=\"true\" allow='clipboard-write'><\/iframe><script src='https:\/\/s0.wp.com\/wp-content\/plugins\/video\/assets\/js\/next\/videopress-iframe.js'><\/script><\/div>\n","protected":false},"excerpt":{"rendered":"<p>For many WordPress users, even seasoned PHP developers, creating new plugins for WordPress seems like a daunting task. This presentation aims 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 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/montreal.wordcamp.org\/2017-fr\/session\/plugin-development-demystified\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo; Plugin Development Demystified &raquo;<\/span><\/a><\/p>\n","protected":false},"author":1830,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1502559000,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[292],"footnotes":""},"session_track":[6851,1148545],"session_category":[],"class_list":["post-398","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-code","wcb_track-mb-s2-330-sous-sol"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8bMHx-6q","session_date_time":{"date":"ao\u00fbt 12, 2017","time":"13:30"},"session_speakers":[{"id":"292","slug":"yannick-lefebvre","name":"Yannick Lefebvre","link":"https:\/\/montreal.wordcamp.org\/2017-fr\/speaker\/yannick-lefebvre\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/sessions\/398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":3,"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/sessions\/398\/revisions"}],"predecessor-version":[{"id":736,"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/sessions\/398\/revisions\/736"}],"speakers":[{"embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/speakers\/292"}],"author":[{"embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wporg\/v1\/users\/jackdewey"}],"wp:attachment":[{"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/media?parent=398"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/session_track?post=398"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/montreal.wordcamp.org\/2017-fr\/wp-json\/wp\/v2\/session_category?post=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}