PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 7.3.4
Jetpack – WP Security, Backup, Speed, & Growth v7.3.4
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 All 500 releases
jetpack / class.jetpack-affiliate.php
class.jetpack-affiliate.php
79 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 // Exit if accessed directly
5 exit;
6 }
7
8 /**
9 * This class introduces routines to get an affiliate code, that might be obtained from:
10 * - an `jetpack_affiliate_code` option in the WP database
11 * - an affiliate code returned by a filter bound to the `jetpack_affiliate_code` filter hook
12 *
13 * @since 6.9.0
14 */
15 class Jetpack_Affiliate {
16
17 /**
18 * @since 6.9.0
19 * @var Jetpack_Affiliate This class instance.
20 **/
21 private static $instance = null;
22
23 private function __construct() {
24 if ( Jetpack::is_development_mode() ) {
25 return;
26 }
27 }
28
29 /**
30 * Initializes the class or returns the singleton
31 *
32 * @since 6.9.0
33 *
34 * @return Jetpack_Affiliate | false
35 */
36 public static function init() {
37 if ( is_null( self::$instance ) ) {
38 self::$instance = new Jetpack_Affiliate;
39 }
40 return self::$instance;
41 }
42
43 /**
44 * Returns the affiliate code from database after filtering it.
45 *
46 * @since 6.9.0
47 *
48 * @return string The affiliate code.
49 */
50 public function get_affiliate_code() {
51 /**
52 * Allow to filter the affiliate code.
53 *
54 * @since 6.9.0
55 *
56 * @param string $aff_code The affiliate code, blank by default.
57 */
58 return apply_filters( 'jetpack_affiliate_code', get_option( 'jetpack_affiliate_code', '' ) );
59 }
60
61 /**
62 * Returns the passed URL with the affiliate code added as a URL query arg.
63 *
64 * @since 6.9.0
65 *
66 * @param string $url The URL where the code will be added.
67 *
68 * @return string The passed URL with the code added.
69 */
70 public function add_code_as_query_arg( $url ) {
71 if ( '' !== ( $aff = $this->get_affiliate_code() ) ) {
72 $url = add_query_arg( 'aff', $aff, $url );
73 }
74 return $url;
75 }
76 }
77
78 add_action( 'init', array( 'Jetpack_Affiliate', 'init' ) );
79