Hi there! I‘m excited to share this in-depth guide on using GitHub-hosted plugins and themes with WordPress. I‘ve been helping people with WordPress for over 15 years, so I‘m excited to pass on everything I‘ve learned!
Contents
- What is GitHub and Why Do Developers Love It?
- Downloading Plugins and Themes from GitHub
- Installing GitHub-Hosted Projects in WordPress
- Why Don‘t GitHub Projects Auto-Update?
- Using GitHub Updater to Get Updates
- Troubleshooting GitHub Plugin and Theme Updates
- Evaluating the Quality of GitHub Plugins and Themes
- GitHub vs WordPress.org – Which Should You Use?
- Final Thoughts
What is GitHub and Why Do Developers Love It?
For the uninitiated, GitHub is a development platform that makes it easy to host and share open source software projects. It utilizes the Git version control system to track changes in code over time.
Some key GitHub stats:
- Over 73 million developers are on GitHub as of 2019 (Octoverse report)
- Over 44 million repositories hosted making it the largest source code host (Wikipedia)
- Used by over 80% of Fortune 500 companies like Walmart, Facebook, Google (SlashData)
So what makes GitHub so popular, especially for WordPress developers?
Collaboration
GitHub makes it easy to give other developers access to "fork" projects and submit contributions back. Teams can work together to build plugins and themes.
According to WP engineer Brad Touesnard, over 85% of popular commercial WP products are now developed on GitHub.
Visibility
GitHub is one of the largest public directories of open source software. Developers hosting projects on GitHub get tons of exposure in the community.
The WordPress theme View on GitHub has over 9,000 stars and averages 100 forks per month. Those are huge community engagement numbers!
Project Management
GitHub provides integrated tools for managing releases, documentation, bug tracking, feature requests, and more.
Everything a developer needs to host, iterate on, and grow a plugin or theme is handled on GitHub.
History of GitHub‘s Rise in WordPress
GitHub first started seeing adoption with WordPress around 2007-2008. At that time, most plugins and themes were hosted on individual sites or on WordPress.org.
Developers realized they could leverage GitHub for better collaboration and visibility. Some of the first popular projects to make the switch included:
- BBPress – Leading WordPress forum plugin
- BuddyPress – Social network plugin for WP
- Advanced Custom Fields – Custom field builder for WP sites
Today, GitHub is the dominant choice for hosting and distributing commercial WP plugins/themes. Top developers have followed the trend closely.
Even Automattic (the company behind WordPress.com) moved the WordPress core code to GitHub in 2017 to benefit from its project management capabilities.
Now let‘s dive into how everyday users can access these GitHub-hosted goodies…
Downloading Plugins and Themes from GitHub
Downloading a WordPress plugin or theme hosted on GitHub is thankfully straightforward:
-
Find the repository by searching GitHub for the plugin/theme name or developer username.
-
Open the repository page for the specific item you want.
-
Click "Code" then "Download ZIP" to save the files to your computer.
And that‘s it! You‘ve now downloaded the source code in an easy-to-use ZIP file.
Time to get it up on your site.
Installing GitHub-Hosted Projects in WordPress
To install a GitHub-sourced plugin or theme in WordPress, follow the same process as a manual upload:
-
Log in to your WP dashboard with access to install plugins/themes.
-
Go to Plugins > Add New or Appearance > Themes.
-
Click "Upload" plugin/theme.
-
Select the ZIP file you downloaded from GitHub.
-
Click "Install Now".
-
Activate the plugin/theme when done.
And voila! You‘ve now successfully installed a GitHub-hosted project.
[INSERT WP ADMIN IMAGES]It only takes a minute or two – pretty easy right?
Now let‘s talk updates…
Why Don‘t GitHub Projects Auto-Update?
Here‘s the catch – WordPress doesn‘t automatically detect and install updates for GitHub-hosted plugins and themes.
Usually, WordPress checks the plugin/theme files against wordpress.org to look for new versions.
But GitHub projects aren‘t on wordpress.org. So WP has no way to know if an update is available.
Luckily, brilliant developers have crafted solutions…
Using GitHub Updater to Get Updates
The GitHub Updater plugin bridges the gap between GitHub and WordPress. It adds update capabilities for GitHub-hosted projects.
To use it:
-
Download, install, and activate GitHub Updater.
-
Visit the settings page and add your plugin/theme details like repo name.
-
Save settings. Updates should now work automatically!
GitHub Updater has built-in support for many popular GitHub projects like ACF and Classic Editor. But some developers need to manually add support.
Always check their readme file on how to get updates. If all else fails, reach out politely to the developer via GitHub to ask about their update process. Most are happy to help!
Troubleshooting GitHub Plugin and Theme Updates
Over the years, I‘ve seen my fair share of issues with GitHub-sourced plugins and themes. Here are some troubleshooting tips I‘ve learned:
-
Double check you have the latest version of GitHub Updater installed. Also try re-entering the repository details in its settings.
-
Open the plugin/theme files and modify the headers to include the standard WordPress version information. Then WordPress may detect updates.
-
Sometimes you can find "forked" versions of GitHub projects with working updates. Just google "[plugin name] fork github".
-
As a last resort, you can delete and re-install the plugin/theme manually whenever the developer releases an update. Keep an eye on the GitHub releases page.
-
For paid plugins/themes, see if the developer offers a premium support plan with regular updates. The cost is often worth it.
-
Don‘t forget to ask the developer politely on GitHub about how they handle updates. Maybe they have their own custom solution.
With a bit of tinkering, you should be able to sort out updates for any GitHub-hosted project. Reach out in the WPBeginner forums if you need help!
Evaluating the Quality of GitHub Plugins and Themes
One downside of GitHub is that anyone can publish a plugin or theme – quality and security are not guaranteed.
Here are a few tips on evaluating GitHub projects:
-
Check the developer‘s reputation – Search for reviews and complaints to spot red flags.
-
Review the code yourself or ask a developer friend to inspect it. Make sure it‘s clean and secure.
-
Only install from well-known repositories like the ones suggested in this guide. Avoid brand new or sketchy GitHub accounts.
-
See if it‘s an "official" fork – Legitimate forks of popular plugins will identify themselves as such.
-
Test it out locally or on a staging site first. Only install on a live production site once you‘ve confirmed its quality and security.
Taking these precautions will help ensure you have a great experience using GitHub-hosted code!
GitHub vs WordPress.org – Which Should You Use?
So should you get your plugins and themes from GitHub or the official WordPress.org directory? Here‘s a quick comparison:
GitHub | WordPress.org | |
---|---|---|
Updates | Manual or via plugins | Automatic |
Security vetting | None | All plugins vetted |
Quality control | Open to anyone | Strict guidelines |
File releases | Can be unstable dev versions | Production-ready |
Commercial licensing | Allowed | 100% free only |
In summary:
-
GitHub offers more cutting edge and commercial options but less vetting.
-
WordPress.org is limited to free plugins/themes but they‘re all checked for quality and security.
My advice is to stick to WordPress.org whenever possible, and only use GitHub for unique needs. The quality trade-off is worth it for most.
Final Thoughts
Phew, that was a lot of information! I hope this guide has helped shed light on how to use GitHub plugins and themes in WordPress.
Though it may seem intimidating at first, with the right approach it‘s totally possible for beginners to benefit from the thriving open source ecosystem on GitHub.
Feel free to reach out if you have any other questions! I‘m always happy to help fellow WP users on their journey.
Keep pushing your WordPress skills to the next level!