' . $label;
switch ( $data['type'] ) {
case 'date':
$html .= '
';
break;
case 'radio':
if ( is_array( $data['options']['choices'] ) ) {
$html .= '
';
}
break;
case 'dropdown':
if ( is_array( $data['options']['choices'] ) ) {
$html .= '
';
foreach ( $data['options']['choices'] as $value ) {
$html .= '
' . esc_html( $value ) . ' ';
}
$html .= '
';
}
break;
case 'birthday':
$html .= '
';
break;
case 'birthday-old':
$days = range( 1, 31 );
$months = array(
esc_html__( 'January', 'mailchimp' ),
esc_html__( 'February', 'mailchimp' ),
esc_html__( 'March', 'mailchimp' ),
esc_html__( 'April', 'mailchimp' ),
esc_html__( 'May', 'mailchimp' ),
esc_html__( 'June', 'mailchimp' ),
esc_html__( 'July', 'mailchimp' ),
esc_html__( 'August', 'mailchimp' ),
esc_html__( 'September', 'mailchimp' ),
esc_html__( 'October', 'mailchimp' ),
esc_html__( 'November', 'mailchimp' ),
esc_html__( 'December', 'mailchimp' ),
);
$html .= '
';
foreach ( $months as $month_key => $month ) {
$html .= '
' . $month . ' ';
}
$html .= '
';
$html .= '
';
foreach ( $days as $day ) {
$html .= '
' . $day . ' ';
}
$html .= '
';
break;
case 'address':
$countries = mailchimp_country_list();
$html .= '
' . esc_html__( 'Street Address', 'mailchimp' ) . '
' . esc_html__( 'Address Line 2', 'mailchimp' ) . '
' . esc_html__( 'City', 'mailchimp' ) . '
' . esc_html__( 'State', 'mailchimp' ) . '
' . esc_html__( 'Zip / Postal', 'mailchimp' ) . '
' . esc_html__( 'Country', 'mailchimp' ) . '
';
foreach ( $countries as $country_code => $country_name ) {
$html .= '
' . esc_html( $country_name ) . ' ';
}
$html .= '
';
break;
case 'zip':
$html .= '
';
break;
case 'phone':
$is_us_phone = isset( $data['options']['phone_format'] ) && 'US' === $data['options']['phone_format'];
$html .= '
';
break;
case 'email':
case 'url':
case 'imageurl':
case 'text':
case 'number':
default:
$html .= '
';
break;
}
if ( ! empty( $data['help_text'] ) ) {
$html .= '
' . esc_html( $data['help_text'] ) . ' ';
}
$html .= '
';
}
return $html;
}
/**
* Mailchimp Subscribe Box widget class
*/
class Mailchimp_SF_Widget extends WP_Widget /* phpcs:ignore Universal.Files.SeparateFunctionsFromOO.Mixed */ {
/**
* Initialize class
*/
public function __construct() {
$widget_ops = array(
'description' => __( 'Displays a Mailchimp Subscribe box', 'mailchimp' ),
);
parent::__construct( 'Mailchimp_SF_Widget', __( 'Mailchimp Widget', 'mailchimp' ), $widget_ops );
}
/**
* Echoes the widget content.
*
* @param array $args Display arguments including 'before_title', 'after_title',
* 'before_widget', and 'after_widget'.
* @param array $instance The settings for the particular instance of the widget.
* @return void
*/
public function widget( $args, $instance ) {
if ( ! is_array( $instance ) ) {
$instance = array();
}
mailchimp_sf_signup_form( array_merge( $args, $instance ) );
}
/**
* Outputs the settings update form.
*
* @param array $instance Current settings.
*/
public function form( $instance ) {
?>
over here if you\'d like to adjust your settings.',
'mailchimp'
),
esc_url( admin_url( 'admin.php?page=mailchimp_sf_options' ) )
),
[
'a' => [
'href' => [],
],
]
);
?>
__( 'USA', 'mailchimp' ),
'286' => __( 'Aaland Islands', 'mailchimp' ),
'274' => __( 'Afghanistan', 'mailchimp' ),
'2' => __( 'Albania', 'mailchimp' ),
'3' => __( 'Algeria', 'mailchimp' ),
'178' => __( 'American Samoa', 'mailchimp' ),
'4' => __( 'Andorra', 'mailchimp' ),
'5' => __( 'Angola', 'mailchimp' ),
'176' => __( 'Anguilla', 'mailchimp' ),
'175' => __( 'Antigua And Barbuda', 'mailchimp' ),
'6' => __( 'Argentina', 'mailchimp' ),
'7' => __( 'Armenia', 'mailchimp' ),
'179' => __( 'Aruba', 'mailchimp' ),
'8' => __( 'Australia', 'mailchimp' ),
'9' => __( 'Austria', 'mailchimp' ),
'10' => __( 'Azerbaijan', 'mailchimp' ),
'11' => __( 'Bahamas', 'mailchimp' ),
'12' => __( 'Bahrain', 'mailchimp' ),
'13' => __( 'Bangladesh', 'mailchimp' ),
'14' => __( 'Barbados', 'mailchimp' ),
'15' => __( 'Belarus', 'mailchimp' ),
'16' => __( 'Belgium', 'mailchimp' ),
'17' => __( 'Belize', 'mailchimp' ),
'18' => __( 'Benin', 'mailchimp' ),
'19' => __( 'Bermuda', 'mailchimp' ),
'20' => __( 'Bhutan', 'mailchimp' ),
'21' => __( 'Bolivia', 'mailchimp' ),
'22' => __( 'Bosnia and Herzegovina', 'mailchimp' ),
'23' => __( 'Botswana', 'mailchimp' ),
'24' => __( 'Brazil', 'mailchimp' ),
'180' => __( 'Brunei Darussalam', 'mailchimp' ),
'25' => __( 'Bulgaria', 'mailchimp' ),
'26' => __( 'Burkina Faso', 'mailchimp' ),
'27' => __( 'Burundi', 'mailchimp' ),
'28' => __( 'Cambodia', 'mailchimp' ),
'29' => __( 'Cameroon', 'mailchimp' ),
'30' => __( 'Canada', 'mailchimp' ),
'31' => __( 'Cape Verde', 'mailchimp' ),
'32' => __( 'Cayman Islands', 'mailchimp' ),
'33' => __( 'Central African Republic', 'mailchimp' ),
'34' => __( 'Chad', 'mailchimp' ),
'35' => __( 'Chile', 'mailchimp' ),
'36' => __( 'China', 'mailchimp' ),
'37' => __( 'Colombia', 'mailchimp' ),
'38' => __( 'Congo', 'mailchimp' ),
'183' => __( 'Cook Islands', 'mailchimp' ),
'268' => __( 'Costa Rica', 'mailchimp' ),
'275' => __( 'Cote D\'Ivoire', 'mailchimp' ),
'40' => __( 'Croatia', 'mailchimp' ),
'276' => __( 'Cuba', 'mailchimp' ),
'41' => __( 'Cyprus', 'mailchimp' ),
'42' => __( 'Czech Republic', 'mailchimp' ),
'43' => __( 'Denmark', 'mailchimp' ),
'44' => __( 'Djibouti', 'mailchimp' ),
'289' => __( 'Dominica', 'mailchimp' ),
'187' => __( 'Dominican Republic', 'mailchimp' ),
'233' => __( 'East Timor', 'mailchimp' ),
'45' => __( 'Ecuador', 'mailchimp' ),
'46' => __( 'Egypt', 'mailchimp' ),
'47' => __( 'El Salvador', 'mailchimp' ),
'48' => __( 'Equatorial Guinea', 'mailchimp' ),
'49' => __( 'Eritrea', 'mailchimp' ),
'50' => __( 'Estonia', 'mailchimp' ),
'51' => __( 'Ethiopia', 'mailchimp' ),
'191' => __( 'Faroe Islands', 'mailchimp' ),
'52' => __( 'Fiji', 'mailchimp' ),
'53' => __( 'Finland', 'mailchimp' ),
'54' => __( 'France', 'mailchimp' ),
'277' => __( 'French Polynesia', 'mailchimp' ),
'59' => __( 'Germany', 'mailchimp' ),
'60' => __( 'Ghana', 'mailchimp' ),
'194' => __( 'Gibraltar', 'mailchimp' ),
'61' => __( 'Greece', 'mailchimp' ),
'195' => __( 'Greenland', 'mailchimp' ),
'192' => __( 'Grenada', 'mailchimp' ),
'62' => __( 'Guam', 'mailchimp' ),
'198' => __( 'Guatemala', 'mailchimp' ),
'270' => __( 'Guernsey', 'mailchimp' ),
'65' => __( 'Guyana', 'mailchimp' ),
'200' => __( 'Haiti', 'mailchimp' ),
'66' => __( 'Honduras', 'mailchimp' ),
'67' => __( 'Hong Kong', 'mailchimp' ),
'68' => __( 'Hungary', 'mailchimp' ),
'69' => __( 'Iceland', 'mailchimp' ),
'70' => __( 'India', 'mailchimp' ),
'71' => __( 'Indonesia', 'mailchimp' ),
'278' => __( 'Iran', 'mailchimp' ),
'279' => __( 'Iraq', 'mailchimp' ),
'74' => __( 'Ireland', 'mailchimp' ),
'75' => __( 'Israel', 'mailchimp' ),
'76' => __( 'Italy', 'mailchimp' ),
'202' => __( 'Jamaica', 'mailchimp' ),
'78' => __( 'Japan', 'mailchimp' ),
'288' => __( 'Jersey (Channel Islands)', 'mailchimp' ),
'79' => __( 'Jordan', 'mailchimp' ),
'80' => __( 'Kazakhstan', 'mailchimp' ),
'81' => __( 'Kenya', 'mailchimp' ),
'82' => __( 'Kuwait', 'mailchimp' ),
'83' => __( 'Kyrgyzstan', 'mailchimp' ),
'84' => __( 'Lao People\'s Democratic Republic', 'mailchimp' ),
'85' => __( 'Latvia', 'mailchimp' ),
'86' => __( 'Lebanon', 'mailchimp' ),
'281' => __( 'Libya', 'mailchimp' ),
'90' => __( 'Liechtenstein', 'mailchimp' ),
'91' => __( 'Lithuania', 'mailchimp' ),
'92' => __( 'Luxembourg', 'mailchimp' ),
'208' => __( 'Macau', 'mailchimp' ),
'93' => __( 'Macedonia', 'mailchimp' ),
'94' => __( 'Madagascar', 'mailchimp' ),
'95' => __( 'Malawi', 'mailchimp' ),
'96' => __( 'Malaysia', 'mailchimp' ),
'97' => __( 'Maldives', 'mailchimp' ),
'98' => __( 'Mali', 'mailchimp' ),
'99' => __( 'Malta', 'mailchimp' ),
'212' => __( 'Mauritius', 'mailchimp' ),
'101' => __( 'Mexico', 'mailchimp' ),
'102' => __( 'Moldova, Republic of', 'mailchimp' ),
'103' => __( 'Monaco', 'mailchimp' ),
'104' => __( 'Mongolia', 'mailchimp' ),
'290' => __( 'Montenegro', 'mailchimp' ),
'105' => __( 'Morocco', 'mailchimp' ),
'106' => __( 'Mozambique', 'mailchimp' ),
'242' => __( 'Myanmar', 'mailchimp' ),
'107' => __( 'Namibia', 'mailchimp' ),
'108' => __( 'Nepal', 'mailchimp' ),
'109' => __( 'Netherlands', 'mailchimp' ),
'110' => __( 'Netherlands Antilles', 'mailchimp' ),
'213' => __( 'New Caledonia', 'mailchimp' ),
'111' => __( 'New Zealand', 'mailchimp' ),
'112' => __( 'Nicaragua', 'mailchimp' ),
'113' => __( 'Niger', 'mailchimp' ),
'114' => __( 'Nigeria', 'mailchimp' ),
'272' => __( 'North Korea', 'mailchimp' ),
'116' => __( 'Norway', 'mailchimp' ),
'117' => __( 'Oman', 'mailchimp' ),
'118' => __( 'Pakistan', 'mailchimp' ),
'222' => __( 'Palau', 'mailchimp' ),
'282' => __( 'Palestine', 'mailchimp' ),
'119' => __( 'Panama', 'mailchimp' ),
'219' => __( 'Papua New Guinea', 'mailchimp' ),
'120' => __( 'Paraguay', 'mailchimp' ),
'121' => __( 'Peru', 'mailchimp' ),
'122' => __( 'Philippines', 'mailchimp' ),
'123' => __( 'Poland', 'mailchimp' ),
'124' => __( 'Portugal', 'mailchimp' ),
'126' => __( 'Qatar', 'mailchimp' ),
'58' => __( 'Republic of Georgia', 'mailchimp' ),
'128' => __( 'Romania', 'mailchimp' ),
'129' => __( 'Russia', 'mailchimp' ),
'130' => __( 'Rwanda', 'mailchimp' ),
'205' => __( 'Saint Kitts and Nevis', 'mailchimp' ),
'206' => __( 'Saint Lucia', 'mailchimp' ),
'132' => __( 'Samoa (Independent)', 'mailchimp' ),
'227' => __( 'San Marino', 'mailchimp' ),
'133' => __( 'Saudi Arabia', 'mailchimp' ),
'134' => __( 'Senegal', 'mailchimp' ),
'266' => __( 'Serbia', 'mailchimp' ),
'135' => __( 'Seychelles', 'mailchimp' ),
'137' => __( 'Singapore', 'mailchimp' ),
'138' => __( 'Slovakia', 'mailchimp' ),
'139' => __( 'Slovenia', 'mailchimp' ),
'223' => __( 'Solomon Islands', 'mailchimp' ),
'141' => __( 'South Africa', 'mailchimp' ),
'142' => __( 'South Korea', 'mailchimp' ),
'143' => __( 'Spain', 'mailchimp' ),
'144' => __( 'Sri Lanka', 'mailchimp' ),
'293' => __( 'Sudan', 'mailchimp' ),
'146' => __( 'Suriname', 'mailchimp' ),
'147' => __( 'Swaziland', 'mailchimp' ),
'148' => __( 'Sweden', 'mailchimp' ),
'149' => __( 'Switzerland', 'mailchimp' ),
'152' => __( 'Taiwan', 'mailchimp' ),
'153' => __( 'Tanzania', 'mailchimp' ),
'154' => __( 'Thailand', 'mailchimp' ),
'155' => __( 'Togo', 'mailchimp' ),
'232' => __( 'Tonga', 'mailchimp' ),
'234' => __( 'Trinidad and Tobago', 'mailchimp' ),
'156' => __( 'Tunisia', 'mailchimp' ),
'157' => __( 'Turkey', 'mailchimp' ),
'287' => __( 'Turks & Caicos Islands', 'mailchimp' ),
'159' => __( 'Uganda', 'mailchimp' ),
'161' => __( 'Ukraine', 'mailchimp' ),
'162' => __( 'United Arab Emirates', 'mailchimp' ),
'262' => __( 'United Kingdom', 'mailchimp' ),
'163' => __( 'Uruguay', 'mailchimp' ),
'239' => __( 'Vanuatu', 'mailchimp' ),
'166' => __( 'Vatican City State (Holy See)', 'mailchimp' ),
'167' => __( 'Venezuela', 'mailchimp' ),
'168' => __( 'Vietnam', 'mailchimp' ),
'169' => __( 'Virgin Islands (British)', 'mailchimp' ),
'238' => __( 'Virgin Islands (U.S.)', 'mailchimp' ),
'173' => __( 'Zambia', 'mailchimp' ),
'174' => __( 'Zimbabwe', 'mailchimp' ),
);
}