PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / ThirdParty / WooCommerce.php
codepress-admin-columns / classes / ThirdParty Last commit date
MediaLibraryAssistant 1 day ago AdvancedCustomFields.php 1 day ago NinjaForms.php 1 day ago WPML.php 1 day ago WPMLColumn.php 1 day ago WooCommerce.php 1 day ago
WooCommerce.php
61 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ThirdParty;
6
7 use AC;
8 use AC\Registerable;
9 use AC\Type\Url\Site;
10 use AC\Type\Url\UtmTags;
11 use Automattic\WooCommerce\Utilities\OrderUtil;
12
13 class WooCommerce implements Registerable
14 {
15 public function register(): void
16 {
17 add_filter('ac/post_types', [$this, 'remove_webhook']);
18 add_filter('ac/admin/screen_notices', [$this, 'add_hpos_notice']);
19 }
20
21 public function remove_webhook($post_types)
22 {
23 if (AC\WooCommerce::is_active()) {
24 unset($post_types['shop_webhook']);
25 }
26
27 return $post_types;
28 }
29
30 public function add_hpos_notice(array $notices): array
31 {
32 if (! $this->is_hpos_enabled()) {
33 return $notices;
34 }
35
36 $notices[] = [
37 'list_key' => 'shop_order',
38 'type' => 'info',
39 'message' => sprintf(
40 __(
41 'WooCommerce is using %s on your site. Columns configured here won\'t appear on the Orders screen. Upgrade to Admin Columns Pro for full order management with HPOS support.',
42 'codepress-admin-columns'
43 ),
44 '<strong>' . __('High-Performance Order Storage', 'codepress-admin-columns') . '</strong>'
45 ),
46 'cta_label' => __('Upgrade to Admin Columns Pro', 'codepress-admin-columns'),
47 'cta_url' => (new UtmTags(new Site(Site::PAGE_ADDON_WOOCOMMERCE), 'hpos-notice'))->get_url(),
48 'locked' => true,
49 ];
50
51 return $notices;
52 }
53
54 private function is_hpos_enabled(): bool
55 {
56 return class_exists(OrderUtil::class)
57 && OrderUtil::custom_orders_table_usage_is_enabled();
58 }
59
60 }
61