An open source eCommerce plugin for WordPress.

Overview

WooCommerce

license Latest Stable Version WordPress.org downloads WordPress.org rating Build Status codecov

Welcome to the WooCommerce repository on GitHub. Here you can browse the source, look at open issues and keep track of development. We recommend all developers to follow the WooCommerce development blog to stay up to date about everything happening in the project. You can also follow @DevelopWC on Twitter for the latest development updates.

If you are not a developer, please use the WooCommerce plugin page on WordPress.org.

Documentation

Reporting Security Issues

To disclose a security issue to our team, please submit a report via HackerOne here.

Support

This repository is not suitable for support. Please don't use our issue tracker for support requests, but for core WooCommerce issues only. Support can take place through the appropriate channels:

Support requests in issues on this repository will be closed on sight.

Contributing to WooCommerce

If you have a patch or have stumbled upon an issue with WooCommerce core, you can contribute this back to the code. Please read our contributor guidelines for more information how you can do this.



Made with πŸ’œ by WooCommerce.
We're hiring! Come work with us!

Issues
  • Either offers review or aggregateRating should be specified

    Either offers review or aggregateRating should be specified

    Hello guys, I am sure you must be facing the same issue that I am updating in this thread. It is a recent Google Console Enhancement that throws a huge number of errors in the console. Take a look at screenshots in the end. I would be highly grateful if you guys help to fix this issue.

    I am looking for a solution to fix this issue asap on my website. It affects almost all the products of my site. It will be great if you guys tell whether Woocommerce next updates gonna fix it for all store owners.

    I have gone through this link https://github.com/woocommerce/woocommerce/issues/22842 that discusses the solution but probably not a solution just a discussion. After going through this link, i found a code that needs to be added in WOOCOMMERCE/INCLUDES/STRUCTURED DATA PHP file. I did that either and found it useless.

    Will appreciate if the solution is listed down step by step so that everyone could utilize it and fix the issue. P.S most of the Woocommerce store owners are not developers and code friendly. 1 2 3

    opened by waqarabro 122
  • Variable product display as 'out of stock' when there is stock.

    Variable product display as 'out of stock' when there is stock.

    Prerequisites

    • [x ] I have searched for similar issues in both open and closed tickets and cannot find a duplicate
    • [x ] The issue still exists against the latest master branch of WooCommerce on Github
    • [ ] I have attempted to find the simplest possible steps to reproduce the issue
    • [ ] I have included a failing test as a pull request (Optional)

    Steps to reproduce the issue

    Some of variable products shows as "Out of stock". However, there is stock in the variable product. image

    image

    This problem occurs in some of products only. I compared with other variable product those without problem, there is no different in all the setting. (As I import them in one batch of CSV) Sometimes problem occur after a customer purchase the product.

    Thank you.

    Isolating the problem

    • [x ] This bug happens with only WooCommerce plugin active
    • [ ] This bug happens with a default WordPress theme active, or Storefront
    • [ ] I can reproduce this bug consistently using the steps above

    WordPress Environment

    WordPress Environment

    Home URL: http://bluebelloutlet.com Site URL: http://bluebelloutlet.com WC Version: 3.1.1 Log Directory Writable: βœ” WP Version: 4.8.1 WP Multisite: – WP Memory Limit: 768 MB WP Debug Mode: – WP Cron: βœ” Language: en_US

    Server Environment

    Server Info: Apache PHP Version: 7.0.22 PHP Post Max Size: 128 MB PHP Time Limit: -1 PHP Max Input Vars: 3000 cURL Version: 7.53.0 OpenSSL/1.0.2k

    SUHOSIN Installed: – MySQL Version: 5.6.36 Max Upload Size: 128 MB Default Timezone is UTC: βœ” fsockopen/cURL: βœ” SoapClient: βœ” DOMDocument: βœ” GZip: βœ” Multibyte String: βœ” Remote Post: βœ” Remote Get: βœ”

    Database

    WC Database Version: 2.6.14 WC Database Prefix: wp_wzffdz1frw_ woocommerce_sessions: βœ” woocommerce_api_keys: βœ” woocommerce_attribute_taxonomies: βœ” woocommerce_downloadable_product_permissions: βœ” woocommerce_order_items: βœ” woocommerce_order_itemmeta: βœ” woocommerce_tax_rates: βœ” woocommerce_tax_rate_locations: βœ” woocommerce_shipping_zones: βœ” woocommerce_shipping_zone_locations: βœ” woocommerce_shipping_zone_methods: βœ” woocommerce_payment_tokens: βœ” woocommerce_payment_tokenmeta: βœ” MaxMind GeoIP Database: βœ”

    Security

    Secure connection (HTTPS): ❌Your store is not using HTTPS. Learn more about HTTPS and SSL Certificates. Hide errors from visitors: βœ”

    Active Plugins (20)

    Better Search Replace: by Delicious Brains – 1.3 Google Analytics for WordPress by MonsterInsights: by MonsterInsights – 6.2.2 WPBakery Visual Composer: by Michael M - WPBakery.com – 4.11 Ninja Forms: by The WP Ninjas – 3.1.9 Popup Maker: by WP Popup Maker – 1.6.5 Replace Image: by Potent Plugins – 1.1.6 Search & Replace: by Inpsyde GmbH – 3.1.2 Shortcode Widget: by Gagan Deep Singh – 1.4 WooCommerce All Discounts Lite: by ORION – 1.3 Woo Checkout Field Editor Pro: by ThemeHiGH – 1.2.0 WooCommerce Email Test: by RaiserWeb – 1.9 WooCommerce PDF Invoices & Packing Slips: by Ewout Fernhout – 2.0.7 WooCommerce Shipping Tracking: by Lagudi Domenico – 12.2 WooCommerce: by Automattic – 3.1.1 – 3.1.2 is available Hustle: by WPMU DEV – 5.1.5 WP All Export Pro: by Soflyy – 1.4.7 WP All Import Pro: by Soflyy – 4.4.9 WP Media Category Management: by DeBAAT – 1.9.1 WP All Import - WooCommerce Add-On Pro: by Soflyy – 2.3.7 Advanced Custom Fields: by Elliot Condon – 4.4.11

    Settings

    API Enabled: βœ” Force SSL: βœ” Currency: HKD (HK$) Currency Position: left Thousand Separator: , Decimal Separator: . Number of Decimals: 2 Taxonomies: Product Types: external (external) grouped (grouped) simple (simple) variable (variable)

    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5)

    WC Pages

    Shop base: #26 - /shop/ Cart: #7 - /cart/ Checkout: #8 - /checkout/ My account: #9 - /account/

    Theme

    Name: Shopkeeper Version: 2.0.10 Author URL: https://www.getbowtied.com/ Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme WooCommerce Support: βœ”

    Templates

    Overrides: shopkeeper/woocommerce/archive-product.php shopkeeper/woocommerce/cart/cart-empty.php shopkeeper/woocommerce/cart/mini-cart.php shopkeeper/woocommerce/checkout/form-checkout.php shopkeeper/woocommerce/checkout/form-coupon.php shopkeeper/woocommerce/checkout/form-login.php shopkeeper/woocommerce/content-product.php shopkeeper/woocommerce/content-product_cat.php shopkeeper/woocommerce/content-single-product.php shopkeeper/woocommerce/global/quantity-input.php shopkeeper/woocommerce/global/sidebar.php shopkeeper/woocommerce/global/wrapper-end.php shopkeeper/woocommerce/global/wrapper-start.php shopkeeper/woocommerce/loop/loop-end.php shopkeeper/woocommerce/loop/loop-start.php shopkeeper/woocommerce/loop/no-products-found.php shopkeeper/woocommerce/myaccount/form-login.php shopkeeper/woocommerce/myaccount/my-downloads.php shopkeeper/woocommerce/order/form-tracking.php shopkeeper/woocommerce/single-product/product-image.php shopkeeper/woocommerce/single-product/product-thumbnails.php shopkeeper/woocommerce/single-product/tabs/tabs.php shopkeeper/woocommerce/single-product-reviews.php shopkeeper/woocommerce/single-product.php

    opened by kaihchan8 115
  • PayPal Intermittent `Transaction cancelled` or `Internal server error` on guest checkout

    PayPal Intermittent `Transaction cancelled` or `Internal server error` on guest checkout

    EXPLANATION OF THE ISSUE

    Using WooCommerce 3.0.5 and guest checkout, there are three possible outcomes when clicking "Proceed to PayPal" from the checkout page:

    1. PayPal payment options appear as expected

    2. PayPal error:

    Transaction Cancelled Error Message This function is temporarily unavailable. Please try your payment again later by returning to eBay and clicking the My eBay button.

    PayPal example

    1. Internal Server Error:

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log

    500 Internal Server error

    Other known info:

    • Same issue on Chrome and Firefox
    • Enabling "create an account" on checkout makes no difference
    • Works correctly if the customer is logged into the site
    • No wp_debug errors
    • PHP logs -> no mention of the issue

    Related thread: https://wordpress.org/support/topic/transaction-cancelled/

    Possible solution? https://en.forums.wordpress.com/topic/priority-paypal-error?replies=4#post-2941732

    STEPS TO REPRODUCE THE ISSUE

    1. Ensure PayPal Standard and Guest Checkout are enabled
    2. Visit the shop as a guest, add a product to the cart and proceed to checkout
    3. Click Proceed to PayPal
    4. See either the PayPal payment screen, PayPal error or Internal Server Error

    SYSTEM STATUS

    ` ### WordPress Environment ###

    Home URL: https://woobeta.mystagingwebsite.com Site URL: https://woobeta.mystagingwebsite.com WC Version: 3.0.5 Log Directory Writable: βœ” WP Version: 4.7.4 WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: – WP Cron: βœ” Language: en_US

    Server Environment

    Server Info: nginx PHP Version: 7.0.18 PHP Post Max Size: 100 MB PHP Time Limit: 300 PHP Max Input Vars: 6144 cURL Version: 7.53.1 OpenSSL/1.0.1t

    SUHOSIN Installed: – Max Upload Size: 100 MB Default Timezone is UTC: βœ” fsockopen/cURL: βœ” SoapClient: βœ” DOMDocument: βœ” GZip: βœ” Multibyte String: βœ” Remote Post: βœ” Remote Get: βœ”

    Database

    WC Database Version: 3.0.5 WC Database Prefix: wp_ woocommerce_sessions: βœ” woocommerce_api_keys: βœ” woocommerce_attribute_taxonomies: βœ” woocommerce_downloadable_product_permissions: βœ” woocommerce_order_items: βœ” woocommerce_order_itemmeta: βœ” woocommerce_tax_rates: βœ” woocommerce_tax_rate_locations: βœ” woocommerce_shipping_zones: βœ” woocommerce_shipping_zone_locations: βœ” woocommerce_shipping_zone_methods: βœ” woocommerce_payment_tokens: βœ” woocommerce_payment_tokenmeta: βœ” MaxMind GeoIP Database: βœ”

    Security

    Secure connection (HTTPS): βœ” Hide errors from visitors: βœ”

    Active Plugins (1)

    WooCommerce: by Automattic – 3.0.5

    Settings

    API Enabled: βœ” Force SSL: βœ” Currency: EUR (€) Currency Position: left Thousand Separator: , Decimal Separator: . Number of Decimals: 2 Taxonomies: Product Types: bundle (bundle) external (external) grouped (grouped) photography (photography) simple (simple) subscription (subscription) variable (variable) variable subscription (variable-subscription)

    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5)

    WC Pages

    Shop base: #4 - /shop/ Cart: #5 - /cart/ Checkout: #6 - /checkout/ My account: #7 - /my-account/

    Theme

    Name: Twenty Seventeen Version: 1.2 Author URL: https://wordpress.org/ Child Theme: ❌ – If you're modifying WooCommerce on a parent theme you didn't build personally then we recommend using a child theme. See: How to create a child theme

    WooCommerce Support: βœ”

    Templates

    Overrides: – `

    opened by hannahswain 97
  • Custom order tables + new orders UI

    Custom order tables + new orders UI

    These are the steps I think we need to cover (in sequence) in order to migrate orders to a custom DB table (#9735).

    Phase 1: Data Abstraction - 2.x.x

    Phase 1 will be to remove any reliance for core and 3rd party plugins on WP functions, namely post and post meta functions. Also (@claudiosmweb) we really need to start consolidating code used in the API/CLI and WP Backend to update orders. Our current codebase is not DRY at all.

    • [x] Introduce wc_get_orders() function to replace get_posts().
    • [x] Introduce meta setter and getter functions to avoid any kind of get_post_meta usage, where needed.
    • [x] Expand CRUD operations for order classes.
    • [x] Replace core usage of get_posts, get_post_meta and direct SQL queries where possible (reports cannot be changed however due to the nature of the complex queries currently required).
    • [x] API CRUD usage for order endpoints.
    • [x] CLI CRUD usage for order endpoints.

    Phase 2: UI Refresh - 3.x.x

    Next we need to redo the UI to again remove the reliance on WP core. Since we'll have a decent CRUD by this point, we can make use of React/Backbone to make something that performs well and gives a better experience for the store owner.

    This will have the side affect of breaking any plugin which adds custom meta boxes, so new hooks and ways of adding custom content will be needed to ensure things are still extensible.

    @jameskoster will design new screens to show order data. Without the constraints of WP admin + meta boxes we can do pretty much anything we like here.

    • [ ] Replace posts list with custom list table.
    • [ ] Replace view/edit order screen with custom UI. This will include new panels for downloadable products to get around the performance issues originality reported in #8589

    Phase 3: Data Migration - 3.x.x

    • [ ] Create new tables; woocommerce_orders and woocommerce_ordermeta
    • [ ] Separate payment status from shipped status. Just throwing this on the list but needs more consideration ( @maxrice @justinstern ) to make statuses more flexible,
    • [ ] Create migration script (dedicated page with progress bar, or background operation) to migrate posts to orders.
    • [ ] Switch CRUD operations to new tables.
    • [ ] Rewrite reports to use new tables. Also a good opportunity to do a refresh of the entire reports section once data is easier to access.

    I will create issues for the above points in the relevant milestones, however, I wanted to get feedback prior and ensure I have not missed anything. @pmgarman @thenbrent @maxrice @claudiosmweb @mattyza @allendav @justinshreve @jameskoster .

    category: refactor 
    opened by mikejolley 94
  • Attributes not functioning anymore after update.

    Attributes not functioning anymore after update.

    EXPLANATION OF THE ISSUE

    The variations no longer show up with the correct attribute names in the product edit page. They still show up correctly in the store but when you try to add the item to your cart it will throw an error.

    STEPS TO REPRODUCE THE ISSUE

    http://yazbeck.com/shop/yazbeck-carbone-wetsuits/ Choose any thickness/lining/size. add to cart. ERROR= Invalid value posted for Thickness displays on screen.

    SYSTEM STATUS

    ` ### WordPress Environment ###

    Home URL: http://yazbeck.com Site URL: http://yazbeck.com WC Version: 3.0.5 Log Directory Writable: βœ” WP Version: 4.7.4 WP Multisite: – WP Memory Limit: 512 MB WP Debug Mode: – WP Cron: βœ” Language: en_US

    Server Environment

    Server Info: Apache PHP Version: ❌ 5.4.16 - We recommend a minimum PHP version of 5.6. See: How to update your PHP version PHP Post Max Size: 512 MB PHP Time Limit: 500 PHP Max Input Vars: 1000 cURL Version: 7.29.0 NSS/3.15.4

    SUHOSIN Installed: – Max Upload Size: 512 MB Default Timezone is UTC: βœ” fsockopen/cURL: βœ” SoapClient: ❌ Your server does not have the SoapClient class enabled - some gateway plugins which use SOAP may not work as expected. DOMDocument: βœ” GZip: βœ” Multibyte String: βœ” Remote Post: βœ” Remote Get: βœ”

    Database

    WC Database Version: 3.0.5 WC Database Prefix: ugAd5YM5q_ woocommerce_sessions: βœ” woocommerce_api_keys: βœ” woocommerce_attribute_taxonomies: βœ” woocommerce_downloadable_product_permissions: βœ” woocommerce_order_items: βœ” woocommerce_order_itemmeta: βœ” woocommerce_tax_rates: βœ” woocommerce_tax_rate_locations: βœ” woocommerce_shipping_zones: βœ” woocommerce_shipping_zone_locations: βœ” woocommerce_shipping_zone_methods: βœ” woocommerce_payment_tokens: βœ” woocommerce_payment_tokenmeta: βœ”

    Security

    Secure connection (HTTPS): ❌Your store is not using HTTPS. Learn more about HTTPS and SSL Certificates. Hide errors from visitors: βœ”

    Active Plugins (27)

    BackupBuddy: by iThemes – 7.1.5.1 AfterShip - WooCommerce Tracking: by AfterShip – 1.6.8 Boxzilla: by ibericode – 3.1.12 Converge Gateway for WooCommerce: by Jacob Davidson – 2.0.0 Comet Cache: by WebSharks Inc. – 170220

    Contact Form 7: by Takayuki Miyoshi – 4.7 Easy Testimonials: by Gold Plugins – 2.2.5 Google Analytics Dashboard for WP: by Alin Marcu – 4.9.6.2 Google Doc Embedder: by Kevin Davis Dan Lester – 2.6.2

    Groups: by itthinx – 2.1.1 Hide Admin Bar From Non-admins: by Stranger Studios – 1.0 Instagram Feed: by Smash Balloon – 1.4.8 iThemes Sync: by iThemes – 1.174.0 Loco Translate: by Tim Whitlock – 2.0.13 MailChimp for WordPress: by ibericode – 4.1.1 MailChimp for WordPress - Top Bar: by ibericode – 1.2.16 Nextend Facebook Connect: by Nextendweb – 2.0.2 Nextend Google Connect: by Roland Soos Jamie Bainbridge – 1.6.1

    Ninja Forms reCAPTCHA: by Aman Saini – 1.2.5 Ninja Forms: by The WP Ninjas – 3.0.34.1 Q and A Focus Plus FAQ: by Lanexatek Creations – 1.3.9.7 Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 2.2.6 Stop Spammers Spam Control: by Keith P. Graham – 6.15 Taxonomy Metadata: by mitcho (Michael Yoshitaka Erlewine) sirzooro – 0.5

    Ultimate Member: by Ultimate Member – 1.3.84 WooCommerce: by Automattic – 3.0.5 Custom Product Tabs for WooCommerce: by YIKES Inc – 1.5.13

    Settings

    API Enabled: βœ” Force SSL: βœ” Currency: USD ($) Currency Position: left Thousand Separator: , Decimal Separator: . Number of Decimals: 2 Taxonomies: Product Types: external (external) grouped (grouped) simple (simple) variable (variable)

    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5)

    WC Pages

    Shop base: #2659 - /shop/ Cart: #7 - /cart/ Checkout: #8 - /checkout/ My account: #9 - /my-account/

    Theme

    Name: Flatsome Version: 3.3.4 Author URL: http://www.uxthemes.com/ Child Theme: ❌ – If you're modifying WooCommerce on a parent theme you didn't build personally then we recommend using a child theme. See: How to create a child theme

    WooCommerce Support: βœ”

    Templates

    Overrides: flatsome/woocommerce/archive-product.php flatsome/woocommerce/cart/cart-empty.php flatsome/woocommerce/cart/cart.php flatsome/woocommerce/checkout/form-checkout.php flatsome/woocommerce/checkout/form-coupon.php flatsome/woocommerce/checkout/thankyou.php flatsome/woocommerce/content-product.php flatsome/woocommerce/content-product_cat.php flatsome/woocommerce/content-single-product.php flatsome/woocommerce/global/breadcrumb.php flatsome/woocommerce/global/quantity-input.php flatsome/woocommerce/global/wrapper-end.php flatsome/woocommerce/global/wrapper-start.php flatsome/woocommerce/loop/loop-end.php flatsome/woocommerce/loop/loop-start.php flatsome/woocommerce/loop/orderby.php flatsome/woocommerce/loop/pagination.php flatsome/woocommerce/loop/result-count.php flatsome/woocommerce/loop/sale-flash.php flatsome/woocommerce/myaccount/form-login.php flatsome/woocommerce/myaccount/navigation.php flatsome/woocommerce/notices/error.php flatsome/woocommerce/notices/notice.php flatsome/woocommerce/notices/success.php flatsome/woocommerce/product-searchform.php flatsome/woocommerce/single-product/photoswipe.php flatsome/woocommerce/single-product/price.php flatsome/woocommerce/single-product/product-image.php flatsome/woocommerce/single-product/product-thumbnails.php flatsome/woocommerce/single-product/related.php flatsome/woocommerce/single-product/review.php flatsome/woocommerce/single-product/sale-flash.php flatsome/woocommerce/single-product/share.php flatsome/woocommerce/single-product/short-description.php flatsome/woocommerce/single-product/tabs/tabs.php flatsome/woocommerce/single-product/title.php flatsome/woocommerce/single-product/up-sells.php flatsome/woocommerce/single-product-reviews.php flatsome/woocommerce/single-product.php

    `

    type: bug 
    opened by jdbaluch 92
  • Explore the feasibility of improved filtering of variations

    Explore the feasibility of improved filtering of variations

    Now that we have lookup table for products, maybe there are some approaches we could explore to support filtering variations by attributes + in stock/out of stock.

    Ref old issue with some proposed solutions: https://github.com/woocommerce/woocommerce/issues/20689

    Note: Within the scope of this issue, we'll cover a proof of concept and write tests for the failing cases. Actual implementation will be handled separately

    priority: high type: task 
    opened by peterfabian 90
  • Order details page not displaying variation/attribute name

    Order details page not displaying variation/attribute name

    The other bug report for this was closed incorrectly and is being ignored, but the bug is very much present.

    On numerous of my client's sites, the order details do not say the variation's name in the title. I've tested this on WC 3.2.6 and 3.8, they both have the same issue. Occasionally it'll display the variation's name, and occasionally not. I can't work out why this happens sporadically.

    To Reproduce Check your order details. If it's happening to several of our sites it'd presumably appear on yours too.

    The below screenshots are 2 separate stores. You can clearly see there's a variation ID, but no variation name in the title. I'm getting angry emails from my clients and I haven't a clue what to suggest: https://i.imgur.com/oqfZ13r.png https://i.imgur.com/5OlvvgQ.png

    Expected behavior ...that it'd say what the variation is in the title.

    Isolating the problem (mark completed items with an [x]):

    • [x] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
    • [x] This bug happens with a default WordPress theme active, or Storefront.
    • [x] I can reproduce this bug consistently using the steps above.

    I'm leaving out the status report as this is affecting numerous WC instances on different versions/themes/etc. It's everywhere.

    type: bug priority: high component: variation 
    opened by MitchEff 80
  • ActionScheduler actions table doesn't exist

    ActionScheduler actions table doesn't exist

    ref: https://wordpress.org/support/topic/fatal-error-on-last-version-4-0/#post-12531873

    Table alexandr121131_wp_2h3tp.TOTscth0_actionscheduler_actions doesn’t exist in /var/www/vhosts/headplus.gr/httpdocs/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php:44 Stack trace:

    1. /var/www/vhosts/headplus.gr/httpdocs/wp-content/plugins/woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php(225): ActionScheduler_DBStoreMigrator->save_action(Object(ActionScheduler_Action), NULL)
    2. /var/www/vhosts/headplus.gr/httpdocs/wp-content/plugins/woocommerce/packages/action-scheduler/classes/ActionScheduler_ActionFactory.php(177): ActionScheduler_HybridStore->save_action(Object(ActionScheduler_Action))
    3. /var/www/vhosts/headplus.gr/httpdocs/wp-content/plugins/woocommerce/packages/action-scheduler/classes/ActionScheduler_ActionFactory.php(84): ActionScheduler_A in /var/www/vhosts/headplus.gr/httpdocs/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php on line 44

    after that i rolled back on 3.9.3 version and everything works…

    Another customer reported seeing this on WP Engine, so maybe we'd be able to reproduce there?

    type: bug needs feedback priority: high component: action scheduler 
    opened by peterfabian 78
  • Display schema for the latest 5 reviews inside product's schema

    Display schema for the latest 5 reviews inside product's schema

    All Submissions:

    Changes proposed in this Pull Request:

    Google recommend to include review inside products instead of a new schema just for reviews:

    https://developers.google.com/search/docs/data-types/product

    I removed the schema for reviews, I kept the method for now, we could deprecate later if necessary. Note that only loads the latest 5 reviews to avoid performance issues.

    By default this Pull Request also fixes the Either β€œoffers”, β€œreview”, or β€œaggregateRating” should be specified error, since it's only one schema for products.

    Closes #23299.

    How to test the changes in this Pull Request:

    Create a product and include some reviews on it. Check your page (or source code) in https://search.google.com/structured-data/testing-tool/ and check for the errors. Now apply the code from this Pull Request and check again on https://search.google.com/structured-data/testing-tool/ All errors should be fixed (of course should display warnings about brand and global identifier for now).

    Other information:

    • [x] Have you added an explanation of what your changes do and why you'd like us to include them?
    • [ ] Have you written new tests for your changes, as applicable?
    • [x] Have you successfully run tests with your changes locally?

    Changelog entry

    Tweak - Include 5 latest reviews to Product's schema.

    cherry picked 
    opened by claudiosanches 77
  • WooCommerce Should Have a Checkout With Multiple Steps

    WooCommerce Should Have a Checkout With Multiple Steps

    As far as I know (please correct me if I am wrong), WooCommerce only ships with the onepage checkout. Although this checkout is cool, some customers definitely prefer a checkout with multiple steps. Hence, it would be a good idea to implement a multiple steps checkout and provide an option to choose which checkout type should be used.

    type: enhancement category: templating 
    opened by sprankhub 69
  • Incorrect Order Data Using `@woocommerce/api`

    Incorrect Order Data Using `@woocommerce/api`

    Please provide us with the information requested in this bug report. Without these details, we won't be able to fully evaluate this issue. Bug reports lacking detail, or for any other reason than to report a bug, may be closed without action.

    Prerequisites (mark completed items with an [x]):

    • [x] I have carried out troubleshooting steps and I believe I have found a bug.
    • [x] I have searched for similar bugs in both open and closed issues and cannot find a duplicate.

    Describe the bug

    The Order model transformation appears to be broken. Keys are transforms, but values seem to be missing or incorrectly cast to other data types.

    See the comparison below:

    API Response Transformed Object
    {
      id: 1218,
      parent_id: 0,
      status: 'pending',
      currency: 'USD',
      version: '6.1.0',
      prices_include_tax: false,
      date_created: '2021-12-01T05:43:38',
      date_modified: '2021-12-01T07:31:05',
      discount_total: '5.00',
      discount_tax: '0.60',
      shipping_total: '0.00',
      shipping_tax: '0.00',
      cart_tax: '6.00',
      total: '56.00',
      total_tax: '6.00',
      customer_id: 0,
      order_key: 'wc_order_GFHWVmAiamh0B',
      billing: {
        first_name: '',
        last_name: '',
        company: '',
        address_1: '',
        address_2: '',
        city: '',
        state: '',
        postcode: '',
        country: '',
        email: '',
        phone: ''
      },
      shipping: {
        first_name: '',
        last_name: '',
        company: '',
        address_1: '',
        address_2: '',
        city: '',
        state: '',
        postcode: '',
        country: '',
        phone: ''
      },
      payment_method: '',
      payment_method_title: '',
      transaction_id: '',
      customer_ip_address: '',
      customer_user_agent: '',
      created_via: 'admin',
      customer_note: '',
      date_completed: null,
      date_paid: null,
      cart_hash: '',
      number: '1218',
      meta_data: [],
      line_items: [
        {
          id: 6137,
          name: 'Belt',
          product_id: 16,
          variation_id: 0,
          quantity: 1,
          tax_class: '',
          subtotal: '55.00',
          subtotal_tax: '6.60',
          total: '50.00',
          total_tax: '6.00',
          taxes: [ { id: 1, total: '6', subtotal: '6.6' } ],
          meta_data: [],
          sku: 'woo-belt',
          price: 50,
          parent_name: null
        }
      ],
      tax_lines: [
        {
          id: 6139,
          rate_code: 'US-TAX-1',
          rate_id: 1,
          label: 'Tax',
          compound: false,
          tax_total: '6.00',
          shipping_tax_total: '0.00',
          rate_percent: 12,
          meta_data: []
        }
      ],
      shipping_lines: [],
      fee_lines: [],
      coupon_lines: [
        {
          id: 6138,
          code: 'save5',
          discount: '5',
          discount_tax: '0.6',
          meta_data: [
            {
              id: 57112,
              key: 'coupon_data',
              value: {
                id: 171,
                code: 'save5',
                amount: '5',
                date_created: {
                  date: '2021-05-19 04:28:31.000000',
                  timezone_type: 3,
                  timezone: 'Pacific/Auckland'
                },
                date_modified: {
                  date: '2021-05-19 04:28:31.000000',
                  timezone_type: 3,
                  timezone: 'Pacific/Auckland'
                },
                date_expires: null,
                discount_type: 'fixed_cart',
                description: '',
                usage_count: 3,
                individual_use: false,
                product_ids: [],
                excluded_product_ids: [],
                usage_limit: 0,
                usage_limit_per_user: 0,
                limit_usage_to_x_items: null,
                free_shipping: false,
                product_categories: [],
                excluded_product_categories: [],
                exclude_sale_items: false,
                minimum_amount: '',
                maximum_amount: '',
                email_restrictions: [],
                virtual: false,
                meta_data: []
              },
              display_key: 'coupon_data',
              display_value: {
                id: 171,
                code: 'save5',
                amount: '5',
                date_created: {
                  date: '2021-05-19 04:28:31.000000',
                  timezone_type: 3,
                  timezone: 'Pacific/Auckland'
                },
                date_modified: {
                  date: '2021-05-19 04:28:31.000000',
                  timezone_type: 3,
                  timezone: 'Pacific/Auckland'
                },
                date_expires: null,
                discount_type: 'fixed_cart',
                description: '',
                usage_count: 3,
                individual_use: false,
                product_ids: [],
                excluded_product_ids: [],
                usage_limit: 0,
                usage_limit_per_user: 0,
                limit_usage_to_x_items: null,
                free_shipping: false,
                product_categories: [],
                excluded_product_categories: [],
                exclude_sale_items: false,
                minimum_amount: '',
                maximum_amount: '',
                email_restrictions: [],
                virtual: false,
                meta_data: []
              }
            }
          ]
        }
      ],
      refunds: [],
      date_created_gmt: '2021-11-30T16:43:38',
      date_modified_gmt: '2021-11-30T18:31:05',
      date_completed_gmt: null,
      date_paid_gmt: null,
      currency_symbol: '$',
      _links: {
        self: [
          {
              href: 'http://local.wordpress.test/wp-json/wc/v3/orders/1218'
          }
        ],
        collection: [
          {
              href: 'http://local.wordpress.test/wp-json/wc/v3/orders'
          }
        ]
      }
    }
    
    Order {
      metaData: [],
      parentId: 0,
      status: 'pending',
      currency: 'USD',
      version: '6.1.0',
      pricesIncludeTax: false,
      discountTotal: '5.00',
      discountTax: '0.60',
      shippingTotal: '0.00',
      shippingTax: '0.00',
      cartTax: '6.00',
      total: '56.00',
      totalTax: '6.00',
      customerId: 0,
      orderKey: '',
      billing: OrderAddress {
        firstName: '',
        lastName: '',
        companyName: '',
        address1: '',
        address2: '',
        city: '',
        state: '',
        postCode: '',
        countryCode: '',
        email: '',
        phone: ''
      },
      shipping: {
        first_name: '',
        last_name: '',
        company: '',
        address_1: '',
        address_2: '',
        city: '',
        state: '',
        postcode: '',
        country: '',
        phone: ''
      },
      paymentMethod: '',
      paymentMethodTitle: '',
      transactionId: '',
      customerIpAddress: '',
      customerUserAgent: '',
      createdVia: '',
      customerNote: '',
      dateCompleted: null,
      datePaid: null,
      cartHash: '',
      orderNumber: '',
      currencySymbol: '',
      setPaid: false,
      lineItems: [],
      taxLines: [],
      shippingLines: [],
      feeLines: [],
      couponLines: [],
      refunds: [],
      links: { collection: [ { href: '' } ], self: [ { href: '' } ] },
      id: 1218,
      parent_id: 0,
      order_key: 'wc_order_GFHWVmAiamh0B',
      payment_method_title: '',
      customer_ip_address: '',
      customer_user_agent: '',
      created_via: 'admin',
      date_completed: null,
      date_paid: null,
      cart_hash: '',
      number: '1218',
      meta_data: [],
      line_items: [
        OrderLineItem {
          metaData: [],
          name: '',
          productId: -1,
          variationId: 0,
          quantity: -1,
          taxClass: '',
          subtotal: '',
          subtotalTax: '',
          total: '',
          totalTax: '',
          taxes: [],
          sku: '',
          price: -1,
          parentName: null
        }
      ],
      tax_lines: [
        OrderTaxRate {
          rateCode: '',
          rateId: 0,
          label: '',
          compoundRate: false,
          taxTotal: '',
          shippingTaxTotal: '',
          ratePercent: 0
        }
      ],
      shipping_lines: [],
      fee_lines: [],
      coupon_lines: [
        OrderCouponLine {
          metaData: [],
          code: '',
          discount: '',
          discountTax: ''
        }
      ],
      date_created_gmt: '2021-11-30T16:43:38',
      date_modified_gmt: '2021-11-30T18:31:05',
      date_completed_gmt: null,
      date_paid_gmt: null,
      currency_symbol: '$',
      _links: {
        self: [
          {
              href: 'http://local.wordpress.test/wp-json/wc/v3/orders/1218'
          }
        ],
        collection: [
          {
              href: 'http://local.wordpress.test/wp-json/wc/v3/orders'
          }
        ]
      }
    }
    

    Expected behavior

    I would expect the snake case properties to be omitted from the transformed model, the data types to be cast correctly, and data to not be missing (such as OrderCouponLines, etc).

    Actual behavior

    See the example above.

    Steps to reproduce the bug (We need to be able to reproduce the bug in order to fix it.) Steps to reproduce the bug:

    const API = require( '@woocommerce/api' );
    const { HTTPClientFactory, Order } = API;
    
    const httpClient = HTTPClientFactory.build( 'http://local.wordpress.test' )
        .withBasicAuth( 'admin', 'password' )
        .create();
    
    httpClient.get( '/wc/v3/orders/1218' ).then( ( response ) => {
        console.dir( response.data, { depth: null } );
    } );
    
    const repository = Order.restRepository( httpClient );
    
    repository.read( 1218 ).then( ( order ) => console.dir( order, { depth: null } ) );
    

    Screenshots If applicable, add screenshots to help explain your problem.

    Isolating the problem (mark completed items with an [x]):

    • [x] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
    • [x] This bug happens with a default WordPress theme active, or Storefront.
    • [x] I can reproduce this bug consistently using the steps above.
    type: bug package: api 
    opened by jeffstieler 0
  • Delete User , Delete Attachment of Product Not Product

    Delete User , Delete Attachment of Product Not Product

    I have faced a issue, in which we delete few users who did data entry of products in woocommerce, no post assign to them only product,

    Wordpress and Woocommerce do not show any content assign to them regarding post , product etc.

    So when we delete the users and do not keep content it not delete all products but delete all images of the products

    I suggest it should not delete the image or at least tell admin user what it will delete or what it will keep

    Currently its look like bug ,

    opened by AH72KING 0
  • Google Fonts @import error in custom email template file

    Google Fonts @import error in custom email template file

    Prerequisites (mark completed items with an [x]):

    • [x] I have carried out troubleshooting steps and I believe I have found a bug.
    • [x] I have searched for similar bugs in both open and closed issues and cannot find a duplicate.

    Describe the bug Cannot use @import with Google Fonts link in custom email template design with the email/email-styles.php file.

    Expected behavior Write the @import rule to the email's <head> tag inside an <style type="text/css"></style>.

    Actual behavior If you put a Google Fonts @import link in the emails/email-styles.php file the link's end will be cut down and therefore the external file cannot be downloaded.

    @import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:[email protected];700%26display=swap");
    
    <style type="text/css">@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:[email protected];</style>
    

    If you convert the link with bit.ly url shortener, the url won't be stripped down, and the file can be loaded to the email. But I don't want to use a third party tool for an @import only.

    Steps to reproduce the bug (We need to be able to reproduce the bug in order to fix it.)

    1. Install Wordpress with WooCommerce, Storefront and Storefront child theme.
    2. Import the sample products, set a delivery method, and also set a payment method.
    3. Copy the woocommerce/templates/emails/email-styles.php file to the child theme's woocommerce/emails folder.
    4. Add this before the first body rule (around the 45-46 lines):
    @import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:[email protected];700%26display=swap");
    
    1. Make a full test order.
    2. Check the sent email's source code.
    3. You will find this in the email's head tag:
    <style type="text/css">@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:[email protected];</style>
    

    Isolating the problem (mark completed items with an [x]):

    • [x] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
    • [x] This bug happens with a default WordPress theme active, or Storefront.
    • [x] I can reproduce this bug consistently using the steps above.

    WordPress Environment You can check the System Status here: https://pastebin.com/78WXSpYP

    opened by simkoG 0
  • Default user email overrides customer session data

    Default user email overrides customer session data

    Prerequisites

    • [x] I have carried out troubleshooting steps and I believe I have found a bug.
    • [x] I have searched for similar bugs in both open and closed issues and cannot find a duplicate.

    Describe the bug For logged in users, the default user email address overrides session data during checkout in case the customer removes the input value and submits the form (while JS is disabled). In this case the user sees the Billing email is mandatory error message but at the same time the input value is filled with the current user's email address. That is due to the override in WC_Customer_Data_Store_Session::set_defaults(). Maybe some null vs. empty string checking might be necessary here which would affect the underlying WC_Customer implementation as well.

    Expected behavior The email address value should allow empty state and should not be overridden with default data during checkout/session.

    Actual behavior The submitted value is overridden with the current user's email address.

    Steps to reproduce the bug (We need to be able to reproduce the bug in order to fix it.) Steps to reproduce the bug:

    1. Turn off JavaScript
    2. Make sure you are a logged in as a user
    3. Add any product to the cart and go to checkout
    4. Remove the current value from the email input field
    5. Submit the form
    6. You will now notice the error message and the misleading input value filled with the default email address

    Isolating the problem (mark completed items with an [x]):

    • [x] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
    • [x] This bug happens with a default WordPress theme active, or Storefront.
    • [x] I can reproduce this bug consistently using the steps above.

    Tested with latest Woo + WP version.

    opened by vendidero 0
  • Cannot use WooCommerce Hooks

    Cannot use WooCommerce Hooks

    image I am creating a plugin, It will add a tag inside the woo-commerce product page(with woo-commerce hook) by getting input from my plugin page(Input: woo-commerce hook name), I have created a form for users input, the hook works well in other places but add_action(hook) will not in the if condition or inside the function weaveroo_info_page().

    custom plugin ui image

    opened by babuus 0
  • WooCommerce Displays other available Payment gateways even though a payment gateway is set on a manual order

    WooCommerce Displays other available Payment gateways even though a payment gateway is set on a manual order

    Prerequisites (mark completed items with an [x]):

    • [x] I have carried out troubleshooting steps and I believe I have found a bug.
    • [x] I have searched for similar bugs in both open and closed issues and cannot find a duplicate.

    Describe the bug

    When a payment gateway is set on manual order, WooCommerce displays all available payment gateways to the customer, even though it will only allow them to pay via the payment gateway defined in the manual order:

    image

    Expected behavior

    Either hide other payment gateways available on the store, or clearly display an error message that says customer can pay only via the configured payment method for the order.

    Actual behavior

    • All available payment gateways on the store are displayed to the customers
    • The error message displayed when another payment gateway is used is specific to the payment gateway selected by the admin for the manual order, and does not clarify that they're using the wrong payment gateway:

    image

    Steps to reproduce the bug (We need to be able to reproduce the bug in order to fix it.) Steps to reproduce the bug:

    1. Create a manual order and assign a payment gateway. Let us say WooCommerce Payments
    2. Click on the customer payment page, or the link shared with the customer when using the Email invoice / Order details to the customer option
    3. Notice that all the payment methods enabled on the store are displayed to the customer, but they can only pay for via the configured payment gateway
    4. Also notice that the system does not notify that the customer is using an incorrect payment gateway for the particular order

    Screenshots

    image

    image

    image

    image

    Isolating the problem (mark completed items with an [x]):

    • [x] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
    • [x] This bug happens with a default WordPress theme active, or Storefront.
    • [x] I can reproduce this bug consistently using the steps above.

    WordPress Environment

    WordPress: 5.8.2 WooCommerce: 5.9

    type: bug component: payment 
    opened by AashikP 1
  • Consistently Store Coupon Data in Order Item Meta

    Consistently Store Coupon Data in Order Item Meta

    All Submissions:

    Changes proposed in this Pull Request:

    Closes #28166.

    This PR adds the storage of WC_Coupon data to Order Item Meta when Orders are created outside the Cart/Checkout context, like through the REST API or wp-admin Dashboard.

    Without these changes, order coupon line item data can vary depending on the context the order was created in:

    When you place an order via checkout (i.e. normal woocommerce flow) - coupon_data is added to the order's coupon_lines metadata here: https://github.com/woocommerce/woocommerce/blob/trunk/includes/class-wc-checkout.php#L626-L629

    But when you add a coupon to an order programmatically, via apply_coupon in our case (or create the order programmaticall in full), that coupon_data metadata is not added at all.

    How to test the changes in this Pull Request:

    1. Ensure you have a coupon you can apply to a new order
    2. Ensure you have a product you can add to the order
    3. Create a new order via the REST API (POST https://example.com/wp-json/wc/v3/orders):
    {
        "status": "on-hold",
        "currency": "USD",
        "payment_method": "cod",
        "payment_method_title": "Cash on Delivery",
        "line_items": [
            {
                "product_id": 5,
                "quantity": 1
            }
        ],
        "coupon_lines": [
            {
                "code": "couponcode"
            }
        ]
    }
    
    1. Verify that the resulting order response has meta_data in the coupon_lines that contains data like:
    "meta_data": [
            {
              "id": 2016,
              "key": "coupon_data",
              "value": {
                "id": 130,
                "code": "couponcode",
                "amount": "7",
                "date_created": {
                  "date": "2020-10-30 11:06:20.000000",
                  "timezone_type": 3,
                  "timezone": "Europe/Madrid"
                },
                "date_modified": {
                  "date": "2020-10-30 11:07:19.000000",
                  "timezone_type": 3,
                  "timezone": "Europe/Madrid"
                },
                "date_expires": null,
                "discount_type": "percent",
                "description": "",
                "usage_count": 2,
                "individual_use": false,
                "product_ids": [],
                "excluded_product_ids": [],
                "usage_limit": 0,
                "usage_limit_per_user": 0,
                "limit_usage_to_x_items": null,
                "free_shipping": false,
                "product_categories": [],
                "excluded_product_categories": [],
                "exclude_sale_items": false,
                "minimum_amount": "",
                "maximum_amount": "",
                "email_restrictions": [],
                "virtual": false,
                "meta_data": []
              }
            }
          ]
    
    1. Create a new order through the wp-admin dashboard (WooCommerce > Orders > Add Order)
    2. Add a product ("Add item(s)")
    3. Add a coupon ("Apply coupon")
    4. Retrieve the order from the REST API (GET https://example.com/wp-json/wc/v3/orders/[ORDER_ID])
    5. Verify the coupon_lines contains meta_data like the previous example

    Other information:

    • [x] Have you added an explanation of what your changes do and why you'd like us to include them?
    • [x] Have you written new tests for your changes, as applicable?
    • [x] Have you successfully run tests with your changes locally?

    Changelog entry

    Enter a summary of all changes on this Pull Request. This will appear in the changelog if accepted.

    Fix - Ensure coupon data is stored consistently when created outside of frontend checkout.

    FOR PR REVIEWER ONLY:

    • [ ] I have reviewed that everything is sanitized/escaped appropriately for any SQL or XSS injection possibilities. I made sure Linting is not ignored or disabled.
    opened by jeffstieler 0
  • Investigate why runAddSimpleProductTest fails when executed in headless mode

    Investigate why runAddSimpleProductTest fails when executed in headless mode

    This issue was identified in this PR: https://github.com/woocommerce/woocommerce/pull/31314

    This commit gives more detail on the issue: https://github.com/woocommerce/woocommerce/pull/31314/commits/a76faaf72ca20bdfd54634ca70c3933dc6d735c4

    category: E2E package: e2e-core-tests 
    opened by MrJnrman 0
  • Retry failed E2E tests using Jest

    Retry failed E2E tests using Jest

    All Submissions:

    Changes proposed in this Pull Request:

    Closes #28185.

    How to test the changes in this Pull Request:

    $ cd plugins/woocommerce
    $ pnpm install
    $ pnpx wc-e2e docker:up
    $ E2E_RETRY_TIMES=2 pnpx wc-e2e test:e2e
    

    Other information:

    • [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
    • [ ] Have you written new tests for your changes, as applicable?
    • [ ] Have you successfully run tests with your changes locally?

    Changelog entry

    Enter a summary of all changes on this Pull Request. This will appear in the changelog if accepted.

    FOR PR REVIEWER ONLY:

    • [ ] I have reviewed that everything is sanitized/escaped appropriately for any SQL or XSS injection possibilities. I made sure Linting is not ignored or disabled.
    category: E2E package: e2e-environment category: tools 
    opened by MrJnrman 0
  • [PHP 8.1] Fix code that throws deprecation notices in tests in PHP 8.1

    [PHP 8.1] Fix code that throws deprecation notices in tests in PHP 8.1

    All Submissions:

    Changes proposed in this Pull Request:

    Do the necessary code fixes so that the WooCommerce unit tests don't throw deprecation notices in PHP 8.1. The deprecation notices fixed are:

    • Various "passing null to parameter (...) is deprecated".
    • Usage of strftime.
    • Using false as if it was an empty array.
    • Mismatching return type of implemented interfaces, that's fixed by adding #[\ReturnTypeWillChange] attributes.

    Note that this pull request alone is not enough to fix all the tests:

    1. Blocks and Action Scheduler will need fixes too (pull request links in the testing instructions).
    2. WordPress core itself isn't currently compatible with PHP 8.1. Some tests are skipped temporarily (see skip_on_php_8_1 method introduced in class-wc-unit-test-case.php), only in PHP 8.1, until that's no longer the case.

    Related issue: https://github.com/woocommerce/woocommerce/issues/31270

    NOTE: A lot of code formatting changes were needed for the code sniffer to be happy. These are in a separate commit for easier review.

    How to test the changes in this Pull Request:

    1. Ensure that the fixes required for Blocks and Action Scheduler are applied (PR for blocks - PR for Action Scheduler).
    2. Run the unit tests in PHP 7.
    3. Perform the changes needed to run tests in PHP 8.
    4. Run the unit tests in both PHP 8.0 and PHP 8.1.

    Other information:

    • [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
    • [ ] Have you written new tests for your changes, as applicable?
    • [ ] Have you successfully run tests with your changes locally?

    Changelog entry

    Fix - Code that produces deprecation notices when running unit tests in PHP 8.1.

    FOR PR REVIEWER ONLY:

    • [ ] I have reviewed that everything is sanitized/escaped appropriately for any SQL or XSS injection possibilities. I made sure Linting is not ignored or disabled.
    opened by Konamiman 0
Releases(6.0.0-rc.1)
Open Source Digital Experience Platform (DXP, MDM/PIM, CDP, DAM, CMS/UX & eCommerce

Pimcore - Open Source Digital Experience Platform: MDM/PIM, CDP, DAM, CMS/UX & eCommerce ?? Website - Learn more about Pimcore ?? Documentation ?? Hel

pimcore 2.3k Nov 23, 2021
A Free and Opensource Laravel eCommerce framework built for all to build and scale your business.

Topics Introduction Documentation Requirements Installation & Configuration License Security Vulnerabilities Miscellaneous Introduction Bagisto is a h

Bagisto 4.1k Nov 25, 2021
πŸ›’Solidus, Rails eCommerce System

Solidus A free, open-source ecommerce platform that gives you complete control over your store. Visit our website: https://solidus.io/ Read our Commun

Solidus 4k Dec 2, 2021
CoreShop - Pimcore eCommerce

CoreShop - Pimcore eCommerce CoreShop is a eCommerce Platform for Pimcore. Requirements Pimcore 6.6 Installation Install with composer composer requir

CoreShop 216 Nov 29, 2021
πŸš€ Open source Node.js Headless CMS to easily build customisable APIs

API creation made simple, secure and fast. The most advanced open-source headless CMS to build powerful APIs with no effort. Try live demo Strapi is a

strapi 41.1k Nov 28, 2021
Open Source multi-language/multi-currency/multi-store E-commerce platform for Ruby on Rails with a modern UX, PWA frontend, REST API, GraphQL, several official extensions, and 3rd party integrations.

Spree Commerce Success Stories Documentation Integrations Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started

Spree Commerce 11.5k Nov 30, 2021
A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.

OpenCart Overview OpenCart is a free open source ecommerce platform for online merchants. OpenCart provides a professional and reliable foundation fro

OpenCart 6.3k Nov 29, 2021
Free, open-source, self-hosted CMS platform based on the Laravel PHP Framework.

October is a Content Management System (CMS) and web platform whose sole purpose is to make your development workflow simple again. It was born out of

October CMS 10.7k Nov 27, 2021
PrestaShop is a fully scalable open source e-commerce solution.

About PrestaShop PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants

PrestaShop 6.2k Nov 26, 2021
Open-Source Data Platform 🐰 β€” Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.

?? Introduction Directus is a real-time API and App dashboard for managing SQL database content. Free & open-source. No artificial limitations, vendor

Directus 12.9k Nov 25, 2021
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

Introduction Open Source Point of Sale is a web based point of sale system. The main features are: Stock management (Items and Kits with extensible li

opensourcepos 2.4k Nov 28, 2021
Attendize is an open-source ticket selling and event management platform built on Laravel.

Attendize is an open-source ticketing and event management application built using the Laravel PHP framework. Attendize allows event organisers to sel

Attendize 3.3k Nov 30, 2021
Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.

Orchard Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform. You can try it for free on DotN

OrchardCMS 2.3k Nov 22, 2021
ApostropheCMS is a full-featured, open-source CMS built with Node.js that seeks to empower organizations by combining in-context editing and headless architecture in a full-stack JS environment.

ApostropheCMS ApostropheCMS is a full-featured, open source CMS built with Node.js that seeks to empower organizations by combining in-context editing

Apostrophe Technologies 3.7k Nov 29, 2021
Thelia is an open source tool for creating e-business websites and managing online content. Repo containing the new major version (v2)

Readme Warning This is the development repository of Thelia. If you want to create a project, please take a look at thelia/thelia-project If you want

null 772 Nov 18, 2021
ProcessWire 3.x is a friendly and powerful open source CMS with a strong API.

Welcome to ProcessWire 3.x This document is in Markdown. An HTML formatted version of this document can be read at: https://github.com/processwire/pro

ProcessWire 721 Nov 18, 2021
:notebook: eLabFTW is the most popular open source electronic lab notebook for research labs.

A free, modern, flexible electronic lab notebook for researchers Official website | Live demo | Documentation | Dedicated hosting Description eLabFTW

elabftw 563 Nov 22, 2021
Subrion CMS - open source php content management system.

Subrion CMS What is Subrion? Subrion is a Content Management System (CMS) which allows you to build websites for any purpose. Yes, from blog to corpor

Intelliants 267 Oct 15, 2021
Simple Open-Source CMS for designers

A simple open-source CMS for designers. No knowledge of PHP required at all. Take any HTML/CSS template and make it CMS enabled in minutes. Just drop

CouchCMS 294 Nov 27, 2021