I'm new to wordpress, coming from the python/django world where there are pretty established standards for development workflows and site deployment, so I'm trying to find some guidance on how to manage a deployment.
For some background on what I'm trying to do: I'm taking over an e-commerce wordpress deployment hosted on Digital Ocean. The site is live, and although in the long term we will likely migrate to a different platform, so this is a somewhat temporary solution to be able to make some customizations to the installed themes and easily deploy to digital ocean while keeping things under (version) control.
I had initially tried deploying WP to heroku with a port to use MySQL of Mhoofman's repo. The problem I ran into there was that the WP Read Only extension was breaking things like the importer and thumbnails, and it seems like it's not really under development anymore. That would otherwise be my preferred solution.
My latest attempt has been trying out Efeqdev's method setting up wordpress as a submodule. After running into issues serving static files in MAMP on OS X, I finally got it working.
Now I'm getting these problem with installed plugins:
Strict Standards: Redefining already defined constructor for class WXR_Parser_Regex in [...]/project-wordpress/wp-content/plugins/wordpress-importer/parsers.php on line 408 Strict Standards: Declaration of WP_Import::bump_request_timeout() should be compatible with WP_Importer::bump_request_timeout($val) in [...]/project-wordpress/wp-content/plugins/wordpress-importer/wordpress-importer.php on line 38 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at [...]/project-wordpress/wp-content/plugins/wordpress-importer/parsers.php:408) in [...]/project-wordpress/wp-content/plugins/ninja-forms/ninja-forms.php on line 638 Warning: Cannot modify header information - headers already sent by (output started at [...]/project-wordpress/wp-content/plugins/wordpress-importer/parsers.php:408) in [...]/project-wordpress/wordpress/wp-includes/option.php on line 750 Warning: Cannot modify header information - headers already sent by (output started at [...]/project-wordpress/wp-content/plugins/wordpress-importer/parsers.php:408) in [...]/project-wordpress/wordpress/wp-includes/option.php on line 751
Of course, once I did all the work and reading through the comments on post, it seems like the they had moved onto deploying using Bedrock. My hesitation about using Bedrock is that it seems like Composer will manage the plugins for me and might wipe out any customizations I may have made to them. As I said, not extremely familiar with PHP/Wordpress, so if I'm wrong about that, and it seems like a saner option, please do let me know.
It seems like moving around parts of WP has a lot of potential for things to break. Would it make more sense to keep the wp-content subdirectory in a git submodule and everything else in a standard way? Not entirely sure how to deal with stuff in the uploads folder, not a good idea to keep it in git, it gets modified in the server when new images are uploaded, and we're using cloudflare for media distribution.