AcfBulkEditNotice.php
6 days ago
AcfNotice.php
6 days ago
AcfSortAndFilterNotice.php
6 days ago
EventsCalendarNotice.php
6 days ago
GravityFormsNotice.php
6 days ago
IntegrationNotice.php
6 days ago
IntegrationNoticeRenderer.php
6 days ago
PostEditReferrerAware.php
6 days ago
UsageAwareNotice.php
6 days ago
WooCommerceOrdersFilterNotice.php
6 days ago
WooCommerceOrdersNotice.php
6 days ago
WooCommerceOrdersScreenAware.php
6 days ago
WooCommerceOrdersSearchNotice.php
6 days ago
WooCommerceProductsBulkEditNotice.php
6 days ago
WooCommerceProductsFilterNotice.php
6 days ago
WooCommerceProductsNotice.php
6 days ago
WooCommerceProductsSearchNotice.php
6 days ago
WooCommerceProductsBulkEditNotice.php
89 lines
| 1 | <?php |
| 2 | |
| 3 | declare(strict_types=1); |
| 4 | |
| 5 | namespace AC\Check\Integration; |
| 6 | |
| 7 | use AC\Screen; |
| 8 | use AC\Type\Url\Site; |
| 9 | use AC\Type\Url\UtmTags; |
| 10 | use AC\WooCommerce; |
| 11 | |
| 12 | class WooCommerceProductsBulkEditNotice implements IntegrationNotice, UsageAwareNotice |
| 13 | { |
| 14 | use PostEditReferrerAware; |
| 15 | |
| 16 | public function is_active(Screen $screen): bool |
| 17 | { |
| 18 | if (! WooCommerce::is_active()) { |
| 19 | return false; |
| 20 | } |
| 21 | |
| 22 | return 'edit' === $screen->get_base() && 'product' === $screen->get_post_type(); |
| 23 | } |
| 24 | |
| 25 | public function get_slug(): string |
| 26 | { |
| 27 | return 'wc-products-bulk-edit'; |
| 28 | } |
| 29 | |
| 30 | public function get_integration_slug(): string |
| 31 | { |
| 32 | return 'ac-addon-woocommerce'; |
| 33 | } |
| 34 | |
| 35 | public function get_eyebrow(): string |
| 36 | { |
| 37 | return ''; |
| 38 | } |
| 39 | |
| 40 | public function get_title(): string |
| 41 | { |
| 42 | return __('Updating products one by one?', 'codepress-admin-columns'); |
| 43 | } |
| 44 | |
| 45 | public function get_description(): string |
| 46 | { |
| 47 | return __( |
| 48 | 'With Pro, bulk edit prices, stock, SKUs, attributes, and custom fields across your entire selection. Need to adjust pricing? The Price Update Wizard lets you change prices by percentage or fixed value across hundreds of products in seconds.', |
| 49 | 'codepress-admin-columns' |
| 50 | ); |
| 51 | } |
| 52 | |
| 53 | public function get_cta_label(): string |
| 54 | { |
| 55 | return __('Upgrade to Admin Columns Pro', 'codepress-admin-columns'); |
| 56 | } |
| 57 | |
| 58 | public function get_cta_url(): string |
| 59 | { |
| 60 | return (new UtmTags(new Site(Site::PAGE_ADDON_WOOCOMMERCE), 'notice-wc-products-bulk-edit'))->get_url(); |
| 61 | } |
| 62 | |
| 63 | public function get_secondary_label(): string |
| 64 | { |
| 65 | return __('See features', 'codepress-admin-columns'); |
| 66 | } |
| 67 | |
| 68 | public function get_secondary_url(): string |
| 69 | { |
| 70 | return (new UtmTags(new Site(Site::PAGE_ADDON_WOOCOMMERCE), 'notice-wc-products-bulk-edit-features'))->get_url(); |
| 71 | } |
| 72 | |
| 73 | public function get_extra_classes(): string |
| 74 | { |
| 75 | return ''; |
| 76 | } |
| 77 | |
| 78 | public function is_usage_detected(): bool |
| 79 | { |
| 80 | return $this->is_post_edit_referrer(); |
| 81 | } |
| 82 | |
| 83 | public function get_delay_days(): int |
| 84 | { |
| 85 | return 14; |
| 86 | } |
| 87 | |
| 88 | } |
| 89 |