PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 3 months ago AdvancedCustomFields.php 3 months ago NinjaForms.php 3 months ago WPML.php 3 months ago WPMLColumn.php 3 months ago WooCommerce.php 3 months ago
WooCommerce.php
58 lines
1 <?php
2
3 namespace AC\ThirdParty;
4
5 use AC\Registerable;
6 use AC\Type\Url\Site;
7 use AC\Type\Url\UtmTags;
8 use Automattic\WooCommerce\Utilities\OrderUtil;
9
10 class WooCommerce implements Registerable
11 {
12
13 public function register(): void
14 {
15 add_filter('ac/post_types', [$this, 'remove_webhook']);
16 add_filter('ac/admin/screen_notices', [$this, 'add_hpos_notice']);
17 }
18
19 public function remove_webhook($post_types)
20 {
21 if (class_exists('WooCommerce', false)) {
22 unset($post_types['shop_webhook']);
23 }
24
25 return $post_types;
26 }
27
28 public function add_hpos_notice(array $notices): array
29 {
30 if ( ! $this->is_hpos_enabled()) {
31 return $notices;
32 }
33
34 $notices[] = [
35 'list_key' => 'shop_order',
36 'type' => 'info',
37 'message' => sprintf(
38 __(
39 '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.',
40 'codepress-admin-columns'
41 ),
42 '<strong>' . __('High-Performance Order Storage', 'codepress-admin-columns') . '</strong>'
43 ),
44 'cta_label' => __('Upgrade to Admin Columns Pro', 'codepress-admin-columns'),
45 'cta_url' => (new UtmTags(new Site(Site::PAGE_ADDON_WOOCOMMERCE), 'hpos-notice'))->get_url(),
46 'locked' => true,
47 ];
48
49 return $notices;
50 }
51
52 private function is_hpos_enabled(): bool
53 {
54 return class_exists(OrderUtil::class)
55 && OrderUtil::custom_orders_table_usage_is_enabled();
56 }
57
58 }