* Started on variation changes
* Stock functions
* Variation class
* Bulk change ->id to get_id() to fix variation form display
* Missing status
* Fix add to cart
* Start on stored data save
* save variation
* Save_variations
* Variation edit panel
* Save variations code works.
* Remove stored data code and fix save
* Improve legacy class
* wc_bool_to_string
* prepare_set_attributes
* Use wc_get_products
* More feedback fixes
* get_prop implementation in abstract and data classes
* Implement set_prop
* Change handling
* Array key exists
* set_object_read
* Started on variation changes
* Stock functions
* Variation class
* Bulk change ->id to get_id() to fix variation form display
* Missing status
* Fix add to cart
* Start on stored data save
* save variation
* Save_variations
* Variation edit panel
* Save variations code works.
* Remove stored data code and fix save
* Improve legacy class
* wc_bool_to_string
* prepare_set_attributes
* Use wc_get_products
* More feedback fixes
* Feedback fixes
* RTL+i18n: product title stricture as translation string to allow RTL languages to change `→` TO `←`
* i18n: move the `→` into the translation string to allow RTL languages to translate to `←`
* RTL: product filter indent using `→` and `←` chars
* a11y: remove `←` char, it's a bad accessibility practice to use visual indicators to point to menus
* a11y: remove `←` char, it's a bad accessibility practice to use visual indicators to point to menus
Closes#3484 and Closes#3143. Pinging @thenbrent as the handler was
originally his idea and I've killed it.
@helgatheviking In 2.1, add to cart URLs will only be used in loops, so
conditonal logic should no longer be neccessary. Single templates post
to themselves without the need for the URL.