Empowering makers — add simple e-commerce to WordPress with a matching storefront theme.
This repository contains the Cartly plugin and Cartly theme under wp-content/. It is meant to be merged into an existing WordPress installation (or deployed beside one).
| Requirement | Notes |
|---|---|
| WordPress | 5.x or newer recommended |
| PHP | 7.4+ (8.x supported). Extensions commonly enabled with WP: openssl, curl, json, mbstring |
| Composer | Required once per environment to install plugin dependencies (Stripe PHP SDK). getcomposer.org |
| HTTPS | Strongly recommended for checkout and Stripe |
Copy this repo’s folders into your WordPress install:
wp-content/plugins/cartly-plugin/→ your site’swp-content/plugins/cartly-plugin/wp-content/themes/cartly-theme/→ your site’swp-content/themes/cartly-theme/
Or clone this repository and copy/subtree only those two directories.
From the plugin directory:
cd wp-content/plugins/cartly-plugin
composer install --no-dev --optimize-autoloaderFor local development and tests, use full install:
composer installThis creates vendor/ (ignored by Git in this repo — do not commit it; composer.lock defines exact versions).
- In WP Admin → Plugins, activate Cartly.
- In Appearance → Themes, activate Cartly (or a child theme if you use one later).
- In Cartly → Settings, configure payment options. For Stripe card checkout, add test or live publishable + secret keys and enable Stripe.
Activation creates core pages (Cart, Account, Log In, etc.) when possible. If URLs look wrong, visit Settings → Permalinks and click Save once.
Ship:
cartly-plugin/(withoutvendor/, includingcomposer.json+composer.lock)cartly-theme/
Recipient runs composer install --no-dev inside cartly-plugin after uploading.
After composer install --no-dev, ZIP including cartly-plugin/vendor/. Larger upload, but works on hosts without SSH/Composer.
Always ship composer.lock with Option A so installs are reproducible.
Checkout uses Stripe Payment Intents and Stripe.js (card Element). Configure keys under Cartly → Settings.
From wp-content/plugins/cartly-plugin:
composer install
composer testRuns PHPUnit against helpers and the documented AJAX JSON contract (tests/).
wp-content/
├── plugins/cartly-plugin/ # Main plugin (Composer, AJAX, Stripe integration)
└── themes/cartly-theme/ # Storefront theme
Other WordPress core files are not included here; install WordPress separately and merge these paths into wp-content/.
The original marketing site lived at cartly.erikholmberg.com. This codebase has been updated for modern PHP, Composer-managed Stripe, and WordPress AJAX patterns — keep backups before upgrading production sites.