PluginProbe
Booktics – Appointment Booking Calendar for Service Businesses / 1.0.28
Booktics – Appointment Booking Calendar for Service Businesses v1.0.28
1.0.29 1.0.28 1.0.27 1.0.26 1.0.25 1.0.24 1.0.23 1.0.22 1.0.21 1.0.20 1.0.19 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.2 1.0.3 All 31 releases
← All changes | booktics.php +31 -6 1.0.20 → 1.0.28 View file →
@@ -3,10 +3,10 @@
3 3 /**
4 4 * Plugin Name: Booktics - Booking Calendar for Appointments and Service Businesses
5 5 * Plugin URI: https://arraytics.com/booktics/
6 6 * Description: Schedule, Appointment and Seat Booking plugin.
7 - * Version: 1.0.20
8 - * Requires at least: 5.2
7 + * Version: 1.0.28
8 + * Requires at least: 6.2
9 9 * Requires PHP: 7.4
10 10 * Author: Arraytics
11 11 * Author URI: https://arraytics.com/
12 12 * License: GPL v2 or later
@@ -29,9 +29,9 @@
29 29 *
30 30 * @package Booktics
31 31 * @category Core
32 32 * @author Arraytics
33 - * @version 1.0.20
33 + * @version 1.0.27
34 34 */
35 35
36 36 use Booktics\Booktics;
37 37 use Booktics\Providers\Global_Service_Provider;
@@ -46,9 +46,9 @@
46 46 // Define constant for the Plugin file.
47 47 define( 'BOOKTICS_PLUGIN_NAME', "Booktics");
48 48 defined( 'BOOKTICS_FILE' ) || define( 'BOOKTICS_FILE', __FILE__ );
49 49 defined( 'BOOKTICS_DIR' ) || define( 'BOOKTICS_DIR', __DIR__ );
50 -defined( 'BOOKTICS_VERSION' ) || define( 'BOOKTICS_VERSION', '1.0.20' );
50 +defined( 'BOOKTICS_VERSION' ) || define( 'BOOKTICS_VERSION', '1.0.28' );
51 51
52 52 global $booktics_container;
53 53
54 54 $booktics_container = new \Booktics\Container\Container();
@@ -67,9 +67,9 @@
67 67 }
68 68
69 69 /**
70 70 * Registers the uninstaller form backend.
71 - *
71 + *
72 72 * @return void
73 73 */
74 74 function booktics_register_uninstaller_form() {
75 75 try {
@@ -94,9 +94,9 @@
94 94 'Booktics', // Plugin name
95 95 'booktics', // Plugin Slug
96 96 __FILE__,
97 97 'booktics', // Text Domain Name
98 - 'booktics-feedback-modal'
98 + 'booktics-feedback-modal'
99 99 );
100 100 }
101 101 }
102 102 } catch ( \Throwable $e ) {
@@ -136,8 +136,33 @@
136 136 }
137 137 add_filter( 'plugin_action_links_' . plugin_basename( BOOKTICS_FILE ), 'booktics_add_go_pro_action_link' );
138 138
139 139
140 +
141 +/**
142 + * Declare WooCommerce feature compatibility.
143 + *
144 + * Must run on before_woocommerce_init, which fires while WooCommerce boots —
145 + * earlier than the `init` hook the service providers are wired to, so this
146 + * cannot live inside the WooCommerce module.
147 + *
148 + * @return void
149 + */
150 +add_action(
151 + 'before_woocommerce_init', function () {
152 + if ( ! class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
153 + return;
154 + }
155 +
156 + // High-Performance Order Storage: the module only ever touches orders
157 + // through the CRUD API, never through post meta.
158 + \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', BOOKTICS_FILE, true );
159 +
160 + // Cart & Checkout blocks: booking checkout runs on whatever checkout the
161 + // store already uses, block or classic.
162 + \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'cart_checkout_blocks', BOOKTICS_FILE, true );
163 + }
164 +);
140 165
141 166 /**
142 167 * Load Booktics Plugin when all plugins loaded.
143 168 *