PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.12.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.12.0
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / vendor_prefixed / wpdesk / wp-persistence / src / Adapter / WooCommerce / WooCommerceSettingsContainer.php
flexible-shipping / vendor_prefixed / wpdesk / wp-persistence / src / Adapter / WooCommerce Last commit date
WooCommerceSettingsContainer.php 1 week ago WooCommerceShippingInstanceContainer.php 1 week ago
WooCommerceSettingsContainer.php
61 lines
1 <?php
2
3 namespace FSVendor\WPDesk\Persistence\Adapter\WooCommerce;
4
5 use FSVendor\WPDesk\Persistence\ElementNotExistsException;
6 use FSVendor\WPDesk\Persistence\PersistentContainer;
7 /**
8 * Can store data using WooCommerce settings options.
9 * Use when want the abstract access to \WC_Settings_API.
10 *
11 * @package WPDesk\Persistence\WooCommerce
12 */
13 final class WooCommerceSettingsContainer implements PersistentContainer
14 {
15 /** @var \WC_Settings_API */
16 private $settings;
17 public function __construct(\WC_Settings_API $settings)
18 {
19 $this->settings = $settings;
20 }
21 public function get($id)
22 {
23 if (!$this->has($id)) {
24 throw new ElementNotExistsException(sprintf('Element %s not exists!', $id));
25 }
26 return $this->settings->get_option($id);
27 }
28 public function has($id)
29 {
30 return isset($this->settings->settings[$id]);
31 }
32 public function set($id, $value)
33 {
34 if (version_compare(\WC_VERSION, '3.4', '>=')) {
35 $this->settings->update_option($id, $value);
36 } else {
37 $this->settings->settings[$id] = $value;
38 $this->update_db_using_wordpress();
39 }
40 }
41 /**
42 * WC_Settings_API is so great that sometimes we have to manually update the data using WP update_option.
43 *
44 * @see \WC_Settings_API::process_admin_options
45 */
46 private function update_db_using_wordpress()
47 {
48 update_option($this->settings->get_option_key(), apply_filters('woocommerce_settings_api_sanitized_fields_' . $this->settings->id, $this->settings->settings), 'yes');
49 }
50 public function delete($id)
51 {
52 $form_fields = $this->settings->get_form_fields();
53 if (isset($form_fields[$id])) {
54 $this->settings->settings[$id] = $this->settings->get_field_default($form_fields[$id]);
55 } else {
56 unset($this->settings->settings[$id]);
57 }
58 $this->update_db_using_wordpress();
59 }
60 }
61