PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 3.1.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v3.1.2
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 / Utils / Hooks.php
wp-staging / Framework / Utils Last commit date
Cache 2 years ago ThirdParty 2 years ago DBPermissions.php 2 years ago Escape.php 2 years ago Hooks.php 2 years ago Math.php 5 years ago PluginInfo.php 2 years ago Sanitize.php 3 years ago ServerVars.php 2 years ago SlashMode.php 5 years ago Strings.php 2 years ago Times.php 2 years ago Urls.php 3 years ago WpDefaultDirectories.php 3 years ago
Hooks.php
59 lines
1 <?php
2
3 namespace WPStaging\Framework\Utils;
4
5 /**
6 * WP Staging wrapper for WordPress hooks functions.
7 */
8 class Hooks
9 {
10 /**
11 * @param string $hook
12 * @param array ...$args
13 * @return void
14 */
15 public function doAction(string $hook, array ...$args)
16 {
17 // Early bail if it is not a wpstg hook
18 if (strpos($hook, 'wpstg.') !== 0) {
19 return;
20 }
21
22 // Early bail if it is a wpstg test hook but not a test
23 if (strpos($hook, 'wpstg.tests.') === 0 && !$this->isTest()) {
24 return;
25 }
26
27 do_action($hook, $args);
28 }
29
30 /**
31 * @param string $hook
32 * @param mixed $value
33 * @param array ...$args
34 * @return mixed
35 */
36 public function applyFilters(string $hook, $value, array ...$args)
37 {
38 // Early bail if it is not a wpstg hook
39 if (strpos($hook, 'wpstg.') !== 0) {
40 return $value;
41 }
42
43 // Early bail if it is a wpstg test hook but not a test
44 if (strpos($hook, 'wpstg.tests.') === 0 && !$this->isTest()) {
45 return $value;
46 }
47
48 return apply_filters($hook, $value, $args);
49 }
50
51 /**
52 * @return bool
53 */
54 protected function isTest(): bool
55 {
56 return defined('WPSTG_TEST') && constant('WPSTG_TEST') === true;
57 }
58 }
59