{"id":226142,"date":"2014-09-12T09:27:44","date_gmt":"2014-09-12T13:27:44","guid":{"rendered":"https:\/\/2014.providence.wordcamp.org\/?post_type=wcb_session&#038;p=226142"},"modified":"2014-09-23T11:01:02","modified_gmt":"2014-09-23T15:01:02","slug":"lets-talk-mvc-development","status":"publish","type":"wcb_session","link":"https:\/\/providence.wordcamp.org\/2014\/session\/lets-talk-mvc-development\/","title":{"rendered":"Getting started with Plugin Architecture"},"content":{"rendered":"<p>After working on BruteProtect, a plugin that was acquired by Automattic, I\u2019d like share the knowledge I wish I knew 2 years ago when I first started with WordPress. I\u2019ll discuss plugin file structure, short codes, security, and private deployment to multiple client installs. We\u2019ll discuss MVC structure, in which your logic is separate from your UI.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After working on BruteProtect, a plugin that was acquired by Automattic, I\u2019d like share the knowledge I wish I knew 2 years ago when I first started with WordPress. I\u2019ll discuss plugin file structure, short codes, security, and private deployment to multiple client installs. We\u2019ll discuss MVC structure, in which your logic is separate from &hellip; <a href=\"https:\/\/providence.wordcamp.org\/2014\/session\/lets-talk-mvc-development\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Getting started with Plugin Architecture<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":11932163,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1411823700,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[226140],"footnotes":""},"session_track":[10024,144,174547],"session_category":[],"class_list":["post-226142","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-advanced","wcb_track-development","wcb_track-room-1"],"jetpack_sharing_enabled":true,"session_date_time":{"date":"September 27, 2014","time":"9:15 am"},"session_speakers":[{"id":"226140","slug":"rocco-tripaldi","name":"Rocco Tripaldi","link":"https:\/\/providence.wordcamp.org\/2014\/speaker\/rocco-tripaldi\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/226142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":2,"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/226142\/revisions"}],"predecessor-version":[{"id":226490,"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/226142\/revisions\/226490"}],"speakers":[{"embeddable":true,"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/speakers\/226140"}],"author":[{"embeddable":true,"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wporg\/v1\/users\/roccotripaldi"}],"wp:attachment":[{"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/media?parent=226142"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/session_track?post=226142"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/providence.wordcamp.org\/2014\/wp-json\/wp\/v2\/session_category?post=226142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}