ThirstyAffiliates.php
1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
declare( strict_types=1 );
namespace WP_Rocket\ThirdParty\Plugins;
use WP_Rocket\Event_Management\Subscriber_Interface;
class ThirstyAffiliates implements Subscriber_Interface {
/**
* Returns an array of events this subscriber listens to.
*
* @return array
*/
public static function get_subscribed_events() {
return [
'rocket_preload_links_exclusions' => [ 'exclude_link_prefix', PHP_INT_MAX, 2 ],
];
}
/**
* Excludes the link prefix from preload links
*
* @since 3.10.8
*
* @param string[] $excluded Array of excluded patterns.
* @param string[] $default Array of default excluded patterns.
*
* @return array
*/
public function exclude_link_prefix( $excluded, $default ): array {
if ( ! is_array( $excluded ) ) {
$excluded = (array) $excluded;
}
if ( ! is_plugin_active( 'thirstyaffiliates/thirstyaffiliates.php' ) ) {
return $excluded;
}
$excluded = array_diff( $excluded, $default );
$link_prefix = get_option( 'ta_link_prefix', 'recommends' );
if ( 'custom' === $link_prefix ) {
$link_prefix = get_option( 'ta_link_prefix_custom', 'recommends' );
}
$excluded[] = '/' . $link_prefix . '/';
return $excluded;
}
}