Learn to go from Cowboy Coding to Professional Developer. My WordCamp Kansas City 2015 presentation.
Slide notes and links available at http://brudtkuhl.com/cowboy-coding-to-professional-developer-wckc-2015/
20. What goes in Git?
• Entire Site
• Single Plugins and Themes
• Never commit your wp-config.php file
• Google “Git Ignore WordPress” for an
example .gitignore file
24. Deploy with sanity
• Dev / Test / Production environments
• Stop doing things manually
• Use WP-DB-MIGRATE to move data
• Use WP-Pusher to deploy updates (no FTP, yay!)
• Use Git on your server
• Capistrano or Chef
29. Follow WordPress Standards
• Read the Codex
• Follow WordPress developer standards for
Themes, Plugins, and Core Contribution
30. Use Core Features
• Theme Customizer
• Settings API
• Options API
• Image Thumbnails
• Menu System
• Widgets, Shortcodes
• Custom Post Types & Taxonomies
31. Enqueue All The Things
• Include scripts and stylesheets in Themes and
Plugins by enqueuing them
• NEVER include your own version of jQuery
32. Use Template Parts
• Create reusable template parts
• Build reusable loops
• Reduce and Reuse code
33. Validate, Sanitize, Escape
• Validate = check user input
• Sanitize = clean user input
• Escape = securing user generated output
35. Use Starter Templates
• WordPress Plugin Boilerplate
• Theme templates like sage, roots, _s
• GenerateWP.com
36. Know variable scope
• Don’t define your own Globals
• Use namespaces and classes to properly scope
your variables
37. WP-CLI
• A WordPress command line interface
• Setup, install, configure sites from your terminal
• Easily create scripts to spin up new sites
• Automate Database migrations
• Schedule Database Migrations
38. Manage Dependencies
• Use plugin_exists( ‘my-plugin’ ), class_exists( ‘MyClass’ ),
or function_exists( ‘my_awesome_function’ )
• TGM Plugin Activation
• Require / Recommend dependencies in your custom
themes and plugins
• Use composer
• custom plugin or theme with third party dependencies
39. My Workflow
1. Grab a task (Jira or Trello)
2. Pull latest version of project from Bitbucket
3. Pull latest version of data from Staging / Production
4. Code feature / fix bug
5. Commit and push updated code with comment and
link back to ticket in Jira/Trello
6. Deploy with WP Pusher or Git
40. My Tools
• Editor: Atom.io
• Local Dev: MAMP Pro
• Terminal: iTerm
• Source Control: Git with Bitbucket
• Data Management: WP DB Migrate Pro
• Deployment: WP Pusher
• Site Management: InfiniteWP