{"id":944,"date":"2019-04-28T14:32:33","date_gmt":"2019-04-28T18:32:33","guid":{"rendered":"https:\/\/2019.jacksonville.wordcamp.org\/?post_type=wcb_session&#038;p=944"},"modified":"2019-04-28T14:33:01","modified_gmt":"2019-04-28T18:33:01","slug":"a-survey-of-wordpress-php-apis","status":"publish","type":"wcb_session","link":"https:\/\/jacksonville.wordcamp.org\/2019\/session\/a-survey-of-wordpress-php-apis\/","title":{"rendered":"A Survey of WordPress PHP APIs"},"content":{"rendered":"<p>Settings, widgets, HTTP requests, shortcodes\u2026 WordPress gives plugin developers more than a dozen PHP APIs. Using these APIs enables developers to write extensions the \u201cright\u201d way, using methods, actions, and filters that make plugins forward-compatible, maintainable, and extensible. We\u2019ll take a tour of these APIs, exploring when and how to use them to build a WordPress plugin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Settings, widgets, HTTP requests, shortcodes\u2026 WordPress gives plugin developers more than a dozen PHP APIs. Using these APIs enables developers to write extensions the \u201cright\u201d way, using methods, actions, and filters that make plugins forward-compatible, maintainable, and extensible. We\u2019ll take a tour of these APIs, exploring when and how to use them to build a [&hellip;]<\/p>\n","protected":false},"author":383275,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1561822200,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[943],"footnotes":""},"session_track":[5041],"session_category":[],"class_list":["post-944","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-developer"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pab3x4-fe","session_date_time":{"date":"June 29, 2019","time":"11:30 am"},"session_speakers":[{"id":"943","slug":"jonathan-brinley","name":"Jonathan Brinley","link":"https:\/\/jacksonville.wordcamp.org\/2019\/speaker\/jonathan-brinley\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions\/944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":1,"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions\/944\/revisions"}],"predecessor-version":[{"id":2184,"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/sessions\/944\/revisions\/2184"}],"speakers":[{"embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/speakers\/943"}],"author":[{"embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wporg\/v1\/users\/jbrinley"}],"wp:attachment":[{"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/media?parent=944"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/session_track?post=944"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2019\/wp-json\/wp\/v2\/session_category?post=944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}