addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Building WordPress Plugins: Best Practices for Beginners and Veterans Alike

Jonathan Christopher will be discussing WordPress plugin development whether you've been working with WordPress for years, or have absolutely no idea what a plugin really is and how they actually work. Let's talk about the purpose of plugins and how WordPress makes building plugins wicked awesome.

Topics will include:

• A general overview of what plugins are and what they're meant to do

• WordPress Hooks (actions and filters) as the lifeblood of plugins

• Best practices, WordPress conventions, and good habits to get into early in your plugin development career

• Putting your plugin on WordPress.org 

• Collaborating on plugins (GitHub) 

• Hopefully a live demo based either on audience suggestion or one of my half started plugins

Bring plugin ideas!

Join or login to comment.

  • Toni G.

    Loved the concept of.this meetup; learned a lot...presenter was quite an expert on the topic too.

    1 · March 20, 2014

  • Jonathan C.

    Hey everyone, thanks for all the kind words and bearing with me as I blasted through the last bit of the talk. I put up the slide deck here:

    https://speakerdeck.com/jchristopher/building-wordpress-plugins-best-practices-for-beginners-and-veterans-alike

    and the repo for the plugin we wrote here: https://github.com/jchristopher/no-hello

    What I'm going to plan on doing is making a new branch of that procedural plugin, and screencasting my way through converting it to a class-based plugin. I think it'll be helpful to speak about how Hooks work within classes because there are a couple gotchas to watch out for.

    I'm working with the WP518 organizers to find out the best place to continue discussing topics from the talk, and continue with an online Q&A since we ran out of time the night of.

    1 · March 20, 2014

  • Damon

    March 20, 2014

  • Eric F.

    Here are a load of links that I noted last night:
    WordPress Coding Standards: http://codex.wordpress.org/WordPress_Coding_Standards
    Tom McFarlin’s WordPress Plugin Boilerplate: https://github.com/tommcfarlin/WordPress-Plugin-Boilerplate
    Tom McFarlin’s Website (has some good info on the Plugin Boilerplate): http://tommcfarlin.com
    WordPress Filter Reference: http://codex.wordpress.org/Plugin_API/Filter_Reference
    WordPress Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference
    WordPress Setting API: https://codex.wordpress.org/Settings_API
    Nacin’s In Open Source Learn to Decide: http://nacin.com/2011/12/18/in-open-source-learn-to-decide/
    Konstantin Kovshenin’s Using the Settings API: http://kovshenin.com/2012/the-wordpress-settings-api/
    Poedit (for internationalization): http://www.poedit.net

    1 · March 20, 2014

  • Damon

    Jonathan did a great job covering a lot of material for novices (Plugin file header, hook/filters) and experts (options with Settings API, sanitization, I18n, performance).

    1 · March 20, 2014

  • Nick J.

    Great time, got some solid information!

    March 19, 2014

  • A former member
    A former member

    An emergency has changed my plans. Sorry to miss such an informative session.

    March 19, 2014

  • Pam S.

    This will be the first time I have attended this group. Looking forward to meeting some skilled WordPress users and learning more about the plugins.

    March 7, 2014

    • Eric F.

      Welcome!! Look forward to meeting you!!

      2 · March 8, 2014

    • Pam S.

      Thanks, Eric, you too. :)

      March 18, 2014

  • Damon

    I have a specific, and immediate plugin need, and hoping some if the concepts will be touched on. I create a new site every week where I have a fresh WP install and need the same 5 Pages and 10 dummy Posts created, and all WP Settings set. Even deleting the initial 'Hello World' Post would be nice. A bit of new project automation. It may even has a nice options screen, and set of required plugins to install (like TGM Plugin Activation: http://tgmpluginactivation.com).

    It is probably a series of plugins I'll have to write, and a tall order. I'm currently looking at WP-CLI for deleting 'Hello World' Post and 'Sample Page' Page, and can probably create a WP Export of my default Pages and Posts.

    If anybody currently has, or uses something I would love to hear about it.

    March 8, 2014

    • Leo

      this is SO much better than the little script I use (which I drag into the terminal like a noob)

      March 17, 2014

    • Matt B.

      I also use a similar kind of thing for VVV for provisioning new sites. Works out really well.

      1 · March 17, 2014

  • Nick J.

    I'll see you there

    1 · March 10, 2014

  • Chuck M.

    One idea- are there any plugin framework / boilerplates you recommend or work with.

    March 7, 2014

  • Brendon K.

    I've made a couple plugins myself, but I've never added anything to WordPress.org (I feel they're a bit too specific, or generalized, or simple). In your (or others') opinion, what would make for a good enough reason to share it out there with the world?

    Also looking forward to your "Best practices" bullet point on storing/retrieving data, whether it be configuration data or user data, and/or both.

    February 26, 2014

    • Eric F.

      Of corse we will talk about it at the meet up I was just also suggesting that we can talk about it after if we fill up the two hours at the library, more than anything I just wanted to say 'Get our cron on'

      February 27, 2014

    • A former member
      A former member

      My misunderstanding. Thanks for clarifying, Eric!

      March 5, 2014

  • Eric F.

    I'd like to learn how/where to find the appropriate hooks to use. I don't have a specific example off the top of my head, but its where I seem to get lost when I have a plugin idea.

    February 26, 2014

    • Jonathan C.

      Awesome, I will be sure to cover that!

      February 26, 2014

  • Jonathan C.

    I could talk about this for 6 days straight but I'd like to get a feel for what you guys have questions on. Building plugins shouldn't be intimidating so please post some questions/concerns you have here so I can tailor the talk a bit to the audience.

    I'd really love to build something live, so if you have any plugin ideas please feel free to post them. No idea is a bad idea. The only thing that'd thwart us would be the time we have to get it done, but I'll give some feedback on what seems feasible at first glance.

    February 26, 2014

  • Leo

    This sounds super fun.

    February 26, 2014

No one went

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy