{"id":1245,"date":"2012-11-02T11:51:53","date_gmt":"2012-11-02T15:51:53","guid":{"rendered":"https:\/\/2012-dev.toronto.wordcamp.org\/?post_type=wcb_session&#038;p=1245"},"modified":"2012-11-21T05:27:22","modified_gmt":"2012-11-21T10:27:22","slug":"creating-your-first-plugin-the-easy-way","status":"publish","type":"wcb_session","link":"https:\/\/toronto.wordcamp.org\/2012-dev\/session\/creating-your-first-plugin-the-easy-way\/","title":{"rendered":"Creating Your First Plugin, The Easy Way"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignleft\" src=\"http:\/\/1.gravatar.com\/avatar\/0d66c8bf6b3b2ec9b0653b44f9858ce4?s=100&amp;r=pg&amp;d=mm\" alt=\"\" \/>This presentation will cover: What is a plugin?\u00a0When to use a plugin for your WordPress project vs. a theme function;\u00a0Best practices for plugin structure, unique naming conventions;\u00a0Creating a secure settings page for your plugin;\u00a0Sanitizing and storing your plugin data, the WordPress way;\u00a0Safely retrieving data from your plugin and using it in a theme;\u00a0What to do when a plugin is deactivated, or uninstalled;\u00a0Structuring a WordPress readme.txt file;\u00a0Submitting a plugin to the WordPress.org repository.<\/p>\n<p>The presentation will take 30 minutes, with 15 minutes for questions following the main portion of the talk. Sample plugin files will be made available, along with code samples and presentation notes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This presentation will cover: What is a plugin?\u00a0When to use a plugin for your WordPress project vs. a theme function;\u00a0Best practices for plugin structure, unique naming conventions;\u00a0Creating a secure settings page for your plugin;\u00a0Sanitizing and storing your plugin data, the &hellip; <a href=\"https:\/\/toronto.wordcamp.org\/2012-dev\/session\/creating-your-first-plugin-the-easy-way\/\">Continue reading <span class=\"screen-reader-text\">Creating Your First Plugin, The Easy Way<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":6358608,"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":[1219],"footnotes":""},"session_track":[3558],"session_category":[],"class_list":["post-1245","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-beginner"],"jetpack_shortlink":"https:\/\/wp.me\/p2lwpt-k5","jetpack_sharing_enabled":true,"session_date_time":{"date":"","time":""},"session_speakers":[{"id":"1219","slug":"christopher-ross","name":"Christopher Ross","link":"https:\/\/toronto.wordcamp.org\/2012-dev\/speaker\/christopher-ross\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/sessions\/1245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/types\/wcb_session"}],"author":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/users\/6358608"}],"version-history":[{"count":3,"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/sessions\/1245\/revisions"}],"predecessor-version":[{"id":1370,"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/sessions\/1245\/revisions\/1370"}],"speakers":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/speakers\/1219"}],"wp:attachment":[{"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/media?parent=1245"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/session_track?post=1245"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2012-dev\/wp-json\/wp\/v2\/session_category?post=1245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}