I try to setup a bedrock project with the aperture theme:
this theme needs some plugins which are in the /aperture/inc/plugins path. whocommerce is in the aperture/inc/ path.
How is it possible to install those theme and it`s plugins, which are not in the wordpress theme and not in public repositorys with composer?
Or should I create a “no_composer” path in my bedrock plugin and theme path and create symlinks to have a determination between composer and not composer themes and plugins.
What is a best practise way to handle my requirements?
If the plugins are part of the theme then why would you want to manage them with Composer?
It’s pretty terrible of themes to include WP plugins in the theme directory. Is there no way to change the expected path of them?
If they don’t, I wouldn’t bother with them and just include them in the theme as usual.
When I activate the theme, wordpress tries to install them, but says, it has too less permissions to do so.
And I can’t even install the aperture theme with composer, because it`s a paid theme…
Honestly I have no idea what that theme is doing. It’s hard to support something I don’t know anything about, especially when it sounds like they’re doing something they shouldn’t.
It`s this theme:
It is not nessesary for me, that I can install it with composer. It would be cool, but I think it`s difficult to support that, because you need to be logged in at envato to download it and so on
My question is more: What is a good way to include such themes or plugins in an bedrock environment which uses composer?
What I now did is:
web/app/plugins/contact-form-7 #composer managed plugin
web/app/plugins/revslider -> symlink to _no_composer/revslider
Is this a good way, what problems could it cause?
Its very common for themes sold on themeforest to include packaged premium plugins, and in fact it is required if that plugin is sold on themeforest too. As far as WooCommerce, that should not of been included unless they modified it in some way.
The only way I can think of to interact with Envato and download a purchase is via the API but I am not aware of anything that makes this work with Composer specifically, and even if it did, you would only be able to manage the theme itself since buying the theme doesn’t give you access to the actual plugins on the market.
As far as install, they are supposed to be using TGM Activation for all plugin integration if it is sold via Themeforest, So that is probably what it is using, and it sounds like there is a permissions error when it attempts to access the folder they are stored in. TGM uses the standard WP plugin system to install stuff, so I doubt there is a problem there. Either way it doesn’t care where you put them, as long as they are installed.
In short, there is no easy way since you don’t have direct access to all the plugins, only the versions packaged with the theme. It may be best to solve your permission issue, but if you want to use composer you will probably have to maintain a private repo of the entire theme and update it as updates are made available by the author. There is quite an extensive discussion about this here.