Thank you for your interest in contributing to the WooCommerce Custom Orders Table plugin!
We welcome input from the community on new features for the plugin, as well as reports of anything that doesn't seem to be working properly.
To make a suggestion or report a bug, please create a new issue within the GitHub repository with a descriptive title and as much pertinent information as possible.
When reporting a bug, please include the following information:
- Steps to reproduce (what steps would someone need to take to see the bug in action?)
- The expected behavior (what should happen?)
- The observed behavior (what is happening?)
- Information about your WooCommerce instance — this can easily be obtained via the WooCommerce › Status screen, via the "Get system report" button at the top of that page.
If you're interested in contributing to the plugin by way of code and/or documentation, please read the following details about the structure of the project:
This project adheres to the WordPress coding standards, and an .editorconfig
file is included in the repository to help most IDEs adjust accordingly. The repository also ships with the WooCommerce git hooks to aid in development.
As a general rule, we strive to maintain 100% compatibility with the latest stable release of WooCommerce:
As part of this commitment to compatibility, WooCommerce Custom Orders Table also targets PHP 5.2 as a minimum PHP version for the core plugin files (with the exception of the WooCommerce_Custom_Orders_Table_CLI
class, which uses the WP-CLI minimum of PHP 5.3). The tests/
directory, however, is accepting of modern (7.x) PHP.
This project uses Gitflow as a branching strategy:
develop
represents the current development version, whereasmaster
represents the latest stable release.- All work should be done in separate feature branches, which should be branched from
develop
.
When a new release is being prepared, a new release/vX.X.X
branch will be created from develop
, version numbers bumped and any last-minute release adjustments made, then the release branch will be merged (via non-fast-forward merge) into master
.
Once master has been updated, the release should be tagged, then master
should be merged into develop
.
WooCommerce Custom Orders Table extends WooCommerce's own test suite (which uses the WordPress core testing suite) to provide automated tests for its functionality.
When submitting pull requests, please include relevant tests for your new features and bug-fixes. This helps prevent regressions in future iterations of the plugin, and helps instill confidence in store owners using this to enhance their WooCommerce stores.
To generate a code coverage report (test coverage percentage as well as areas of untested or under-tested code that could pose risk), you run the following:
$ composer test-coverage
The report will be saved to tests/coverage/
. Please note that XDebug must be enabled in order to generate code coverage reports!