TransWikia.com

Update a custom theme with Subversion?

WordPress Development Asked on November 14, 2021

Before I start: I’m not sure if this is feasible so any guidance, suggestions, criticisms are welcome.

I’m looking for an easy way to deploy my WordPress theme code from my development environment (local computer running WAMP) to my staging and production environments (both are hosted servers). The ideal workflow I am looking for would utilize Apache Subversion as my source code repo and would look like this:

  1. Make changes to my WordPress theme in my local environment,
  2. Commit code into a Subversion repository that is accessible by production and testing environments,
  3. Then I log into my staging / production WordPress control panel,
  4. Go to the Appearance | Themes section,
  5. Click Update Theme button on my theme’s display panel that updates my theme from the trunk of the corresponding SVN repository.

Nice to have:

  • A way to roll changes back to a previous version,
  • A notification telling the user that there is an update available,
  • A way to commit code directly from within WordPress (if you changed anything using the theme editor in WordPress)

If this doesn’t exist, I’m thinking about developing a plug-in that will achieve the above. The key is that everything happens directly through the WordPress Admin panel. Using the command line on each server is not an option for me.

One Answer

Too late, not implementing all requested functionality, require some actions-in-the-middle (between commit to SVN and checking for update on WP), but:

  • It seems to work
  • It works for themes and plugins, placed at independent sources

Own Wordpress update-server, reachable from WP-Admin side

  1. WordPress Self-Hosted Plugin Update API description of principles and usage
  2. Code of project (actively maintaned) on GitHub

In short: * Solution for creating own Plugins/Themes update server (themes/plugins from this server can coexist in WordPress with extensions from default WP location) * API-server and update-server may share the same host or work from different (TBT!) * Updates distributed as zip-files from common updates-location * Updating (adding new) distributed extension require changes in api/packages.php file in order to inform clients about published update

Two latest point means, that developer of distributed over server content can not only commit and relax, SVN-repository have to have some type of (smart) post-commit hook, which will be able

  • zip HEAD of code
  • deploy this zip to upload-folder
  • update packages.php by correct new information

Answered by Lazy Badger on November 14, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP