PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
4.11.2 4.11.1 4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Notices / NoticesHandler.php
wp-staging / Framework / Notices Last commit date
BackupPluginsNotice.php 1 week ago BooleanNotice.php 1 week ago CliIntegrationNotice.php 1 week ago DisabledItemsNotice.php 1 week ago DismissNotice.php 1 week ago NextGenEngineNotice.php 1 week ago Notices.php 1 week ago NoticesHandler.php 1 week ago ObjectCacheNotice.php 1 week ago OutdatedWpStagingNotice.php 1 week ago WarningsNotice.php 1 week ago WpVersionCompatNotice.php 1 week ago
NoticesHandler.php
106 lines
1 <?php
2
3 namespace WPStaging\Framework\Notices;
4
5 use WPStaging\Framework\Facades\Hooks;
6 use WPStaging\Framework\Onboarding\FreeOnboarding;
7 use WPStaging\Framework\Traits\NoticesTrait;
8
9
10
11
12 class NoticesHandler
13 {
14 use NoticesTrait;
15
16 public function __construct()
17 {
18 $this->defineHooks();
19 }
20
21
22
23
24 public function removeOtherPluginAdminNotices()
25 {
26 $isWPStagingAdminPage = $this->isWPStagingAdminPage();
27
28 if ($isWPStagingAdminPage) {
29 remove_all_actions('admin_notices');
30 remove_all_actions('user_admin_notices');
31 remove_all_actions('network_admin_notices');
32 remove_all_actions('all_admin_notices');
33 }
34
35 if ($this->isWPStagingInstallPage()) {
36 return;
37 }
38
39 if ($isWPStagingAdminPage && $this->isOnboardingFocusMode()) {
40 return;
41 }
42
43 add_action('admin_notices', [$this, 'addWpstgAdminNotices']);
44 add_action('network_admin_notices', [$this, 'addWpstgNetworkAdminNotices']);
45 add_action('all_admin_notices', [$this, 'addWpstgAllAdminNotices']);// phpcs:ignore WPStaging.Security.AuthorizationChecked
46 }
47
48
49
50
51
52
53
54
55
56
57
58
59 private function isOnboardingFocusMode(): bool
60 {
61 $onboarding = FreeOnboarding::resolve();
62
63 return $onboarding !== null && $onboarding->ownsCurrentScreen();
64 }
65
66
67
68
69 public function addWpstgAdminNotices()
70 {
71 Hooks::doAction(Notices::ACTION_ADMIN_NOTICES);
72 }
73
74
75
76
77 public function addWpstgNetworkAdminNotices()
78 {
79 Hooks::doAction(Notices::ACTION_NETWORK_ADMIN_NOTICES);
80 }
81
82
83
84
85 public function addWpstgAllAdminNotices()
86 {
87 Hooks::doAction(Notices::ACTION_ALL_ADMIN_NOTICES);
88 }
89
90
91
92
93 private function defineHooks()
94 {
95 static $isRegistered = false;
96 if ($isRegistered) {
97 return;
98 }
99
100 add_action('in_admin_header', [$this, 'removeOtherPluginAdminNotices']);
101
102
103 $isRegistered = true;
104 }
105 }
106