Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement/test high-level integration/compatibility with key plugins #20

Open
sdunham opened this issue Apr 5, 2019 · 5 comments
Open
Labels
needs-ac Needs Acceptance Criteria

Comments

@sdunham
Copy link
Contributor

sdunham commented Apr 5, 2019

i.e. WooCommerce, The Events Calendar, etc...

Commonly used plugins which provide large pieces of functionality (e.g. eCommerce, event management) can sometimes have a few hoops to jump through to be compatible with a timber-based theme. WooCommerce is a good example, seeing as there's an entire guide to integrating it with Timber in their docs. We should do some work up front to ensure these plugins can be dropped into a WP site using a Groot-based theme with as little up-front effort as possible.

@acobster
Copy link
Contributor

acobster commented Apr 5, 2019

@sdunham agreed. Do you think this would be addressed by having our own guides/cookbooks for integrating with such plugins? Or, is the scope even wider than that, like having a kitchen-sink type theme for WooCommerce? How do you envision "testing" this stuff?

@sdunham
Copy link
Contributor Author

sdunham commented Apr 5, 2019

I think the approach might depend on which plugins we want to target for integration, and how involved they are to implement. For the two I had in mind to start (WooCommerce and The Events Calendar), I think it would be sufficient to include the appropriate code/templates in Groot to make them function out-of-the-box and provide some minimal documentation to explain what you get for free w/ Groot and (if applicable) point devs to documentation on how to do more fine grained integration. If we decide to expand the scope to other plugins that require more work on the part of theme developers, there might be the need for more robust documentation (i.e. guides/cookbooks).

Examples:

  • WooCommerce
    • We could achieve a baseline level of integration by including a woocommerce.php file in groot with a single minimal twig template. I've implemented this recently for a side projecting using Conifer, and it's pretty trivial.
    • Additional integration documentation we could point to would be Timber's WC integration guide (though this seems to be a bit outdated from what I can tell), and WooCommerce's theme developer handbook
  • The Events Calendar
    • I think we should be able to provide a baseline level of integration for this plugin by including a header.php and footer.php file, similar to the Timber starter theme.

This would allow us to do some minimal testing to ensure that these plugins can be dropped into a WP instance running a Groot-based theme and have those plugins function as intended without additional effort for theme developers.

@sdunham
Copy link
Contributor Author

sdunham commented Apr 5, 2019

(BTW, I'm happy to take this one on. Just wanted to get it documented before it fell out of my head)

@acobster
Copy link
Contributor

acobster commented Apr 5, 2019

Sounds good, thanks! Although in my experience {header,footer}.php is not strictly necessary for TEC - check out the way we're overriding PHP templates but still letting Twig views do most of the work in Metro Parks. Much cleaner than header/footer code IMHO.

@sdunham
Copy link
Contributor Author

sdunham commented Apr 5, 2019

Yeah, that's definitely a lot more flexible than the header/footer approach, but it sorta falls into the "more fine-grained integration" category (at least in my head). Which is totally legit, but I think at that point we need to decide if it's worth including by default in the theme, or just writing up a guide/cookbook to show people how they could go about setting up that integration.

I was kinda imagining any code we'd include in the theme to start as the MVP for allowing the plugins to work out of the box, with additional documentation on how to do more fine-grained integrations (if applicable).

@acobster acobster added the needs-ac Needs Acceptance Criteria label May 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-ac Needs Acceptance Criteria
Projects
None yet
Development

No branches or pull requests

2 participants