PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 6.9
Jetpack – WP Security, Backup, Speed, & Growth v6.9
16.2-beta 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 All 501 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