PluginProbe ʕ •ᴥ•ʔ
MC4WP: Mailchimp for WordPress / 4.1.8
MC4WP: Mailchimp for WordPress v4.1.8
4.13.0 4.12.6 4.12.4 4.12.5 4.12.3 4.12.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 2.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3 2.3.1 2.3.10 2.3.11 2.3.12 2.3.13 2.3.14 2.3.15 2.3.16 2.3.17 2.3.18 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 3.0.10 3.0.11 3.0.12 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.10.5 4.10.6 4.10.7 4.10.8 4.10.9 4.11.0 4.11.1 4.12.0 4.12.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.3 4.3.1 4.3.2 4.3.3 4.4 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.8 4.8.1 4.8.10 4.8.11 4.8.12 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 4.9.0 4.9.1 4.9.10 4.9.11 4.9.12 4.9.13 4.9.14 4.9.15 4.9.16 4.9.17 4.9.18 4.9.19 4.9.2 4.9.20 4.9.21 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 trunk 1.1.5 1.2.1 1.2.3 1.2.4 1.2.5 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8
mailchimp-for-wp / includes / mailchimp / class-interest-category.php
mailchimp-for-wp / includes / mailchimp Last commit date
class-interest-category.php 9 years ago class-list.php 8 years ago class-merge-field.php 9 years ago class-subscriber.php 9 years ago
class-interest-category.php
87 lines
1 <?php
2
3 /**
4 * Class MC4WP_MailChimp_Interests_Category
5 *
6 * Represents an Interest Category in MailChimp.
7 *
8 * @access public
9 * @since 4.0
10 */
11 class MC4WP_MailChimp_Interest_Category {
12
13 /**
14 * @var int
15 */
16 public $id = 0;
17
18 /**
19 * @var string
20 */
21 public $name = '';
22
23 /**
24 * @var string
25 */
26 public $field_type = '';
27
28 /**
29 * @var string[]
30 */
31 public $interests = array();
32
33 /**
34 * @param int $id
35 * @param string $name
36 * @param string $field_type
37 * @param array $interests
38 */
39 public function __construct( $id, $name, $field_type, $interests = array() ) {
40 $this->id = $id;
41 $this->name = $name;
42 $this->field_type = $field_type;
43 $this->interests = $interests;
44 }
45
46 /**
47 * @param string $name
48 *
49 * @return array|string[]
50 */
51 public function __get( $name ) {
52 // for backwards compatibility with v3.x, channel these properties to their new names
53 if( $name === 'groups' ) {
54 return $this->interests;
55 }
56 }
57
58 /**
59 * @param object $data
60 *
61 * @return MC4WP_MailChimp_Interest_Category
62 */
63 public static function from_data( $data ) {
64 $instance = new self( $data->id, $data->title, $data->type );
65 return $instance;
66 }
67
68 /**
69 * @since 4.0
70 *
71 * @param string $interest_id
72 * @return string
73 *
74 * @throws Exception
75 */
76 public function get_interest_name_by_id( $interest_id ) {
77 foreach( $this->interests as $id => $name ) {
78 if( $id != $interest_id ) {
79 continue;
80 }
81
82 return $name;
83 }
84
85 throw new Exception( sprintf( 'No interest with ID %s', $interest_id ) );
86 }
87 }