Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/alex27m/aomark-for-woocommerce/archive/refs/heads/main.zipA theme-neutral WooCommerce and Elementor plugin for product discovery and purchase interfaces.
The plugin is a universal successor to the preserved catalog baseline. Its distributable runtime contains no client-specific URLs, labels, colors, taxonomy assumptions, or compatibility shims.
Elementor widgets
- Aomark Product Catalog — server-rendered product archive with progressive GET forms, real owner term URLs, and independently scoped secondary-catalog state, enhanced with abortable AJAX search, taxonomy filters, sorting, pagination, browser history, archive titles, and descriptions.
- Aomark Cart Button — accessible cart/checkout/custom link with an optional WooCommerce fragment-updated item count.
- Aomark Product Purchase — WooCommerce-native purchase form for simple, variable, grouped, external, and extension-defined product types.
Controls are organized into Content, responsive Layout, and scoped Style sections. Defaults inherit the active theme's typography while maintaining accessible contrast, focus indicators, touch targets, reduced-motion support, and a keyboard-safe mobile filter drawer.
Shortcodes
[aomark_wc_cart_link]
[aomark_wc_cart_count]
Common cart-link attributes include label, aria_label, show_label, show_icon, show_count, hide_empty, url, and class.
Security and performance
- The public catalog endpoint is read-only.
- Server-created query policy is HMAC-signed; visitor state is separately allowlisted and bounded.
- Product queries are publish-only, exclude password-protected products, honor catalog visibility and stock policy, and clean up temporary WooCommerce ordering filters.
- Native WooCommerce add-to-cart endpoints and templates are used; the plugin does not expose a custom cart mutation route.
- Assets load only when a widget or shortcode needs them. Cart fragments and variation scripts are conditionally enqueued.
Development
npm.cmd run check
This runs JavaScript syntax checks, static release contracts, and a deterministic ZIP build. PHP lint is part of CI and must cover every PHP file on PHP 7.4, 8.3, and 8.5.
See:
docs/specification.mddocs/testing.mddocs/recovery.md
Release policy
No direct production deployment is permitted. A candidate must pass local checks, the existing WooCommerce/Elementor QA site, a neutral WooCommerce setup, and the documented release checklist. The baseline ownership/relicensing assertion is recorded in docs/OWNERSHIP.md; each public submission still requires an exact-package technical review and owner approval.