Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Cartly

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).


Requirements

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

Quick installation (existing WordPress site)

1. Add the plugin and theme

Copy this repo’s folders into your WordPress install:

  • wp-content/plugins/cartly-plugin/ → your site’s wp-content/plugins/cartly-plugin/
  • wp-content/themes/cartly-theme/ → your site’s wp-content/themes/cartly-theme/

Or clone this repository and copy/subtree only those two directories.

2. Install PHP dependencies (Cartly plugin)

From the plugin directory:

cd wp-content/plugins/cartly-plugin
composer install --no-dev --optimize-autoloader

For local development and tests, use full install:

composer install

This creates vendor/ (ignored by Git in this repo — do not commit it; composer.lock defines exact versions).

3. Activate and configure

  1. In WP Admin → Plugins, activate Cartly.
  2. In Appearance → Themes, activate Cartly (or a child theme if you use one later).
  3. In Cartly → Settings, configure payment options. For Stripe card checkout, add test or live publishable + secret keys and enable Stripe.

4. Pages

Activation creates core pages (Cart, Account, Log In, etc.) when possible. If URLs look wrong, visit Settings → Permalinks and click Save once.


Distribution options

Option A — Source bundle (small ZIP; Composer on target)

Ship:

  • cartly-plugin/ (without vendor/, including composer.json + composer.lock)
  • cartly-theme/

Recipient runs composer install --no-dev inside cartly-plugin after uploading.

Option B — Fat ZIP (no Composer on server)

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.


Stripe checkout

Checkout uses Stripe Payment Intents and Stripe.js (card Element). Configure keys under Cartly → Settings.


Development & tests

From wp-content/plugins/cartly-plugin:

composer install
composer test

Runs PHPUnit against helpers and the documented AJAX JSON contract (tests/).


Repository layout

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/.


Legacy note

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.

About

Simple, self-hosted e-commerce for makers. Drop it into WordPress, add your Stripe keys, and start selling.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages