Speakers: Kevin Fodness

  • Kevin Fodness : Beyond the Metabox - How Gutenberg Can Bring the Editorial Experience to Life

    Kevin Fodness : Beyond the Metabox – How Gutenberg Can Bring the Editorial Experience to Life

    WordCamp Publishers: Columbus 2019Speaker: Kevin Fodness

    June 2, 2020 — The pre-Gutenberg editorial experience in WordPress leaves much to be desired. There is the ostensibly what-you-see-is-what-you-get content editor that is invariably augmented with meta-boxes to collect additional information about how the post should be displayed, including content that appears above or below the post body, or in a sidebar, or inserted into the post’s metadata. There are two primary problems with this approach—it is necessarily non-visual, and relies heavily on using post previews to understand what the published post will look like; and it is rigid, because PHP templates control what appears where outside of the free-form content editor. Gutenberg, properly utilized, solves both of these problems by bringing content into the primary editor flow as blocks which can be fully visualized and re-ordered, allowing content editors to see and understand what a post will look like and how it will behave before publishing, without needing to continually refresh a post preview.

    This talk discussed how developers can support content editors and publishers by moving away from meta-boxes to custom blocks and post-level metadata. I explained how to think Gutenberg-first during design and development, and showcased examples of these approaches in practice.

    Presentation Slides »

  • Kevin Fodness: Object-Oriented Theme Development

    Kevin Fodness: Object-Oriented Theme Development

    WordCamp Saratoga 2014Speaker: Kevin Fodness

    January 14, 2015 — Simplify your theme development, reuse code, and reduce compatibility problems by moving complex logic code out of your templates and functions.php file into a namespaced theme object. Take advantage of stateful caching and build your own base class to reuse functionality between projects.

    Presentation Slides »