WP Manifestindependent plugin directory
manifest / developer / settings-tester

Settings Tester

Modern Settings tester for WooCommerce

by The WordPress Contributors · github.com/psealock/settings-tester

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/psealock/settings-tester/archive/refs/heads/trunk.zip

A companion plugin to test Reactification of WooCommerce Settings. This plugin includes all known possible integration methods for adding UI|UX elements to WooCommerce settings. The integration methods are intentionally stripped down for testing purposes.

A summary of the known issues is used to keep track of problems with existing integration techniques.

See Settings implementation in Core WooCommerce.

Integration Methods

Below are checklists for each way an extension can add functionality to WooCommerce settings. If the checkbox is checked, that means the integration method has been implemented to a satisfactory degree.

Components

  • [x] title
  • [ ] info
  • [ ] sectionend
  • [x] text
  • [ ] password
  • [ ] datetime
  • [ ] datetime-local
  • [ ] date
  • [ ] month
  • [ ] time
  • [ ] week
  • [x] number
  • [ ] email
  • [ ] url
  • [ ] tel
  • [ ] color
  • [ ] textarea
  • [ ] select
  • [ ] multiselect
  • [ ] radio
  • [x] checkbox
  • [ ] image_width
  • [ ] single_select_page
  • [ ] single_select_page_with_search
  • [ ] single_select_country
  • [ ] multi_select_countries
  • [ ] relative_date_selector

Custom Views

  • [x] Use of woocommerce_admin_field_ hook to output arbitrary HTML.
  • [x] Extending WC_Settings_Page with custom output method to render arbitrary HTML.

Javascript

  • [x] Plain Javascript to interact with the DOM.
  • [x] jQuery to interact with the DOM.
  • [x] Use of document.addEventListener( 'DOMContentLoaded', () => { ... } ) to bind JS to the DOM.
  • [x] Use of jQuery.ready() to bind JS to the DOM.
  • [ ] Echoing HTML with `