5. Surgical Aphorisms
❖ KISS - Keep It Simple (Stupid)
❖ The enemy of good is better
❖ Should you really do that?
❖ Learn from others
❖ You are "captain of the ship"
10. Captain of the Ship
Decisions, not options
Single purpose
Simple, simple, simple
Scratch your own itch
11. Tools of the Trade
DesktopServer
PHPStorm
GitHub, Bitbucket, GitLab, etc.
Tower - towerapp.com
Google, GitHub, WordPress forums
12. Scratching Your Own Itch
❖ What problem do I want to solve?
❖ Does a solution already exist?
❖ Do current solutions work for you?
❖ DIY
13. Plugin Development
❖ Identify scope of project
❖ Start coding, preference to OOP
❖ Ask questions
❖ Constantly lookup and learn
❖ Core is your best reference
14. Core is your friend
❖ Transients API
❖ Settings API
❖ add_action()/do_action()
❖ add_filter()/apply_filters()
15. WordPress.org Plugin Repo
❖ The Events Calendar Category Colors
❖ The Events Calendar PRO Alarm
❖ The Events Calendar User CSS
❖ The Events Calendar Outlook Import Fix
❖ Add Custom Header Images
16. My Goals for GitHub Updater
❖ Simple barrier to entry
❖ Work within core as much possible
❖ Update both plugins and themes
17. Plugin Requirements for GitHub Updater
/*
Plugin Name: GitHub Updater
Plugin URI: https://github.com/afragen/github-updater
Description: A plugin to automatically update GitHub, Bitbucket or
GitLab hosted plugins and themes. It also allows for remote installation
of plugins or themes into WordPress.
Version: 1.0.0
Author: Andy Fragen
License: GNU General Public License v2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Domain Path: /languages
Text Domain: github-updater
GitHub Plugin URI: https://github.com/afragen/github-updater
GitHub Branch: master
*/
18. Current State of GitHub Updater
❖ Seamless updates for plugins and themes
❖ Works in single or multisite
❖ Works with GitHub, Bitbucket, and GitLab
❖ Works with public and private repositories
❖ Changelogs, readme.txt, view details, ratings, etc.
❖ Rollback for themes
❖ Settings page
❖ Allows for remote installation of plugins or themes
❖ Branch switching/re-installation for plugins/themes
❖ Integrates with iThemes Sync and InfiniteWP
22. WhoAmI
❖ http://thefragens.com
❖ @andyfragen - Twitter
❖ https://github.com/afragen
❖ Day job, trauma/acute care surgeon
❖ Chief of Staff, Desert Regional Medical Center, Palm Springs, CA
❖ WordCamp sponsor and now speaker