Files
mataba/shop/docs/COMPATIBILITY.md
T

2.1 KiB
Raw Blame History

XShop – Compatibility

1. Tested Up To (M4: 2026-09-13)

Dependency Minimum Tested
WordPress 6.4 7.1
WooCommerce 8.0 11.1.0
PHP 8.2 8.2.12, 8.3 recommended
Elementor 3.15 (optional) 3.2x
Gutenberg WP bundled —
Browsers last 2 versions 360/390/768/1024/1280/1440 via Playwright + CSS

2. WordPress APIs Used

  • Theme support: add_theme_support('title-tag','post-thumbnails','html5','custom-logo','woocommerce'...)
  • Menus/sidebars/widgets: register_nav_menus, register_sidebar, widgets_init.
  • Settings: register_setting + single option xshop_settings (Settings API).
  • Customizer: customize_register for preview (typography/colours).
  • REST: register_rest_route (namespace xshop/v1).

3. WooCommerce Integration (M4)

  • add_theme_support('woocommerce') + wrappers, loop xshop-products, toolbar, product.js conditional, search.js+filter.js front-end (DOM guard).
  • REST: xshop/v1/search + xshop/v1/products (shared ProductQuery), HPOS via wc_get_products/WP_Query, no raw SQL.
  • Overrides (4): content-product.php 3.6.0, archive-product.php 3.4.0 (now with xshop-shop layout + product-filters sidebar/drawer + pre_get_posts no-JS fallback), content-single-product.php 3.6.0, single-product.php 1.6.4.

4. HPOS

  • Uses wc_get_products CRUD, not direct post table writes. Compatible with High-Performance Order Storage. No direct wp_posts manipulation for orders.

5. Elementor

  • Widgets registered via \Elementor\Plugin::instance()->widgets_manager->register if Elementor active. Namespaced XShop\Core\Elementor\Widgets\*. No hard dependency – is_plugin_active guard.

6. Gutenberg

  • Block styles via register_block_style, theme.json opt-in later. No classic-editor dependency.

7. Multisite

  • Not primary target; options are per-site (no network options in v1).

8. Upgrade Notes

  • Template version bumps checked via WC template version comment. Override only where necessary; changelog notes any override update.