PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.7.5
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.7.5
3.4.2 3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 2.2.0 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.0 2.3.1 2.3.2 All 195 releases
← All changes | includes/functions.php +193 -33 2.3.22.7.5 View file →
@@ -106,13 +106,32 @@
106 106 * @return array Post Types
107 107 */
108 108 function convertkit_get_supported_post_types() {
109 109
110 + // Define supported Post Types.
110 111 $post_types = array(
111 112 'page',
112 113 'post',
113 114 );
114 115
116 + // If public Custom Post Types can be fetched, include them now.
117 + if ( function_exists( 'get_post_types' ) ) {
118 + // Get public Custom Post Types.
119 + $custom_post_types = (array) get_post_types(
120 + array(
121 + 'public' => true,
122 +
123 + // Don't include WordPress' built in Post Types, such as attachment, revisino and nav_menu_item.
124 + '_builtin' => false,
125 + )
126 + );
127 +
128 + $post_types = array_merge(
129 + $post_types,
130 + array_keys( $custom_post_types )
131 + );
132 + }
133 +
115 134 /**
116 135 * Defines the Post Types that support ConvertKit Forms.
117 136 *
118 137 * @since 1.9.6
@@ -129,28 +148,16 @@
129 148 * Helper method to get supported Post Types for Restricted Content (Member's Content)
130 149 *
131 150 * @since 2.1.0
132 151 *
152 + * @deprecated 2.4.3 No longer used by internal code and not recommended. Use `convertkit_get_supported_post_types` instead.
153 + *
133 154 * @return array Post Types
134 155 */
135 156 function convertkit_get_supported_restrict_content_post_types() {
136 157
137 - $post_types = array(
138 - 'page',
139 - 'post',
140 - );
158 + return convertkit_get_supported_post_types();
141 159
142 - /**
143 - * Defines the Post Types that support Restricted Content / Members Content functionality.
144 - *
145 - * @since 2.0.0
146 - *
147 - * @param array $post_types Post Types
148 - */
149 - $post_types = apply_filters( 'convertkit_get_supported_restrict_content_post_types', $post_types );
150 -
151 - return $post_types;
152 -
153 160 }
154 161
155 162 /**
156 163 * Helper method to get registered Shortcodes.
@@ -224,8 +231,32 @@
224 231
225 232 }
226 233
227 234 /**
235 + * Helper method to get registered pre-publish actions.
236 + *
237 + * @since 2.4.0
238 + *
239 + * @return array Pre-publish actions
240 + */
241 +function convertkit_get_pre_publish_actions() {
242 +
243 + $pre_publish_actions = array();
244 +
245 + /**
246 + * Registers pre-publish actions for the ConvertKit Plugin.
247 + *
248 + * @since 2.4.0
249 + *
250 + * @param array $pre_publish_panels Pre-publish actions.
251 + */
252 + $pre_publish_actions = apply_filters( 'convertkit_get_pre_publish_actions', $pre_publish_actions );
253 +
254 + return $pre_publish_actions;
255 +
256 +}
257 +
258 +/**
228 259 * Helper method to return the Plugin Settings Link
229 260 *
230 261 * @since 1.9.6
231 262 *
@@ -280,9 +311,9 @@
280 311 'utm_source' => 'wordpress',
281 312 'utm_term' => get_locale(),
282 313 'utm_content' => 'convertkit',
283 314 ),
284 - 'https://app.convertkit.com/users/signup'
315 + 'https://app.kit.com/users/signup'
285 316 );
286 317
287 318 }
288 319
@@ -300,9 +331,9 @@
300 331 'utm_source' => 'wordpress',
301 332 'utm_term' => get_locale(),
302 333 'utm_content' => 'convertkit',
303 334 ),
304 - 'https://app.convertkit.com/'
335 + 'https://app.kit.com/'
305 336 );
306 337
307 338 }
308 339
@@ -320,21 +351,21 @@
320 351 'utm_source' => 'wordpress',
321 352 'utm_term' => get_locale(),
322 353 'utm_content' => 'convertkit',
323 354 ),
324 - 'https://app.convertkit.com/account_settings/billing/'
355 + 'https://app.kit.com/account_settings/billing/'
325 356 );
326 357
327 358 }
328 359
329 360 /**
330 - * Helper method to return the URL the user needs to visit on the ConvertKit app to obtain their API Key and Secret.
361 + * Helper method to return the URL the user needs to visit on the ConvertKit app to create a new Form or Landing Page.
331 362 *
332 - * @since 1.9.6.1
363 + * @since 2.2.3
333 364 *
334 - * @return string ConvertKit App URL.
365 + * @return string ConvertKit App URL
335 366 */
336 -function convertkit_get_api_key_url() {
367 +function convertkit_get_new_form_url() {
337 368
338 369 return add_query_arg(
339 370 array(
340 371 'utm_source' => 'wordpress',
@@ -340,21 +371,41 @@
340 371 'utm_source' => 'wordpress',
341 372 'utm_term' => get_locale(),
342 373 'utm_content' => 'convertkit',
343 374 ),
344 - 'https://app.convertkit.com/account_settings/advanced_settings/'
375 + 'https://app.kit.com/forms/new/'
345 376 );
346 377
347 378 }
348 379
349 380 /**
350 - * Helper method to return the URL the user needs to visit on the ConvertKit app to create a new Form or Landing Page.
381 + * Helper method to return the URL the user needs to visit to edit ConvertKit forms.
351 382 *
352 383 * @since 2.2.3
353 384 *
385 + * @return string ConvertKit Form Editor URL.
386 + */
387 +function convertkit_get_form_editor_url() {
388 +
389 + return add_query_arg(
390 + array(
391 + 'utm_source' => 'wordpress',
392 + 'utm_term' => get_locale(),
393 + 'utm_content' => 'convertkit',
394 + ),
395 + 'https://app.kit.com/forms'
396 + );
397 +
398 +}
399 +
400 +/**
401 + * Helper method to return the URL the user needs to visit on the ConvertKit app to create a new Landing Page.
402 + *
403 + * @since 2.5.5
404 + *
354 405 * @return string ConvertKit App URL
355 406 */
356 -function convertkit_get_new_form_url() {
407 +function convertkit_get_new_landing_page_url() {
357 408
358 409 return add_query_arg(
359 410 array(
360 411 'utm_source' => 'wordpress',
@@ -360,21 +411,21 @@
360 411 'utm_source' => 'wordpress',
361 412 'utm_term' => get_locale(),
362 413 'utm_content' => 'convertkit',
363 414 ),
364 - 'https://app.convertkit.com/forms/new/'
415 + 'https://app.kit.com/pages/new/'
365 416 );
366 417
367 418 }
368 419
369 420 /**
370 - * Helper method to return the URL the user needs to visit to edit ConvertKit forms.
421 + * Helper method to return the URL the user needs to visit on the ConvertKit app to create a new Tag.
371 422 *
372 - * @since 2.2.3
423 + * @since 2.3.3
373 424 *
374 - * @return string ConvertKit Form Editor URL.
425 + * @return string ConvertKit App URL.
375 426 */
376 -function convertkit_get_form_editor_url() {
427 +function convertkit_get_new_tag_url() {
377 428
378 429 return add_query_arg(
379 430 array(
380 431 'utm_source' => 'wordpress',
@@ -380,9 +431,9 @@
380 431 'utm_source' => 'wordpress',
381 432 'utm_term' => get_locale(),
382 433 'utm_content' => 'convertkit',
383 434 ),
384 - 'https://app.convertkit.com/forms'
435 + 'https://app.kit.com/subscribers/'
385 436 );
386 437
387 438 }
388 439
@@ -400,14 +451,38 @@
400 451 'utm_source' => 'wordpress',
401 452 'utm_term' => get_locale(),
402 453 'utm_content' => 'convertkit',
403 454 ),
404 - 'https://app.convertkit.com/campaigns/'
455 + 'https://app.kit.com/campaigns/'
405 456 );
406 457
407 458 }
408 459
409 460 /**
461 + * Helper method to return the URL the user needs to visit on the ConvertKit app to edit a draft Broadcast.
462 + *
463 + * @since 2.4.0
464 + *
465 + * @param int $broadcast_id ConvertKit Broadcast ID.
466 + * @return string ConvertKit App URL.
467 + */
468 +function convertkit_get_edit_broadcast_url( $broadcast_id ) {
469 +
470 + return add_query_arg(
471 + array(
472 + 'utm_source' => 'wordpress',
473 + 'utm_term' => get_locale(),
474 + 'utm_content' => 'convertkit',
475 + ),
476 + sprintf(
477 + 'https://app.kit.com/campaigns/%s/draft',
478 + $broadcast_id
479 + )
480 + );
481 +
482 +}
483 +
484 +/**
410 485 * Helper method to return the URL the user needs to visit on the ConvertKit app to create a new Product.
411 486 *
412 487 * @since 2.2.3
413 488 *
@@ -420,9 +495,9 @@
420 495 'utm_source' => 'wordpress',
421 496 'utm_term' => get_locale(),
422 497 'utm_content' => 'convertkit',
423 498 ),
424 - 'https://app.convertkit.com/products/new/'
499 + 'https://app.kit.com/products/new/'
425 500 );
426 501
427 502 }
428 503
@@ -474,6 +549,91 @@
474 549 }
475 550
476 551 // Return file's contents.
477 552 return $contents;
553 +
554 +}
555 +
556 +/**
557 + * Returns a dropdown field commonly used for settings, comprising of:
558 + * - Do not subscribe
559 + * - Subscribe
560 + * - Subscribe to Form
561 + *
562 + * @since 2.5.2
563 + *
564 + * @param string $name Field name.
565 + * @param string $value Field value.
566 + * @param string $id Field ID attribute.
567 + * @param string $css_class Field CSS class(es).
568 + * @param string $context Resource context.
569 + * @param bool|array $additional_options Additional <option> key/value pairs.
570 + */
571 +function convertkit_get_subscription_dropdown_field( $name, $value, $id, $css_class = '', $context = '', $additional_options = false ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter
572 +
573 + // Load resource classes.
574 + $forms = new ConvertKit_Resource_Forms( $context );
575 + $tags = new ConvertKit_Resource_Tags( $context );
576 + $sequences = new ConvertKit_Resource_Sequences( $context );
577 +
578 + ob_start();
579 + include CONVERTKIT_PLUGIN_PATH . '/views/backend/subscription-dropdown-field.php';
580 + $output = trim( ob_get_clean() );
581 +
582 + // Return output.
583 + return $output;
584 +
585 +}
586 +
587 +/**
588 + * Helper method to safely call get_current_screen(), returning false
589 + * if the function is not available or returns null.
590 + *
591 + * Otherwise returns the given WP_Screen property.
592 + *
593 + * @since 2.5.9
594 + *
595 + * @param string $property WP_Screen property to return.
596 + * @return bool|string
597 + */
598 +function convertkit_get_current_screen( $property ) {
599 +
600 + // Bail if we cannot determine the screen.
601 + if ( ! function_exists( 'get_current_screen' ) ) {
602 + return false;
603 + }
604 +
605 + // Get screen.
606 + $screen = get_current_screen();
607 +
608 + // Bail if the screen couldn't be determined.
609 + if ( is_null( $screen ) ) {
610 + return false;
611 + }
612 +
613 + // Return property.
614 + return $screen->$property;
615 +
616 +}
617 +
618 +/**
619 + * Outputs the Intercom help widget script.
620 + *
621 + * @since 2.7.2
622 + */
623 +function convertkit_output_intercom_messenger() {
624 +
625 + ?>
626 + <script>
627 + const KIT_INTERCOM_APP_ID = 'e4n3xtxz';
628 + window.intercomSettings = {
629 + api_base: 'https://api-iam.intercom.io',
630 + app_id: KIT_INTERCOM_APP_ID
631 + };
632 + </script>
633 +
634 + <script>
635 + (function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/' + KIT_INTERCOM_APP_ID;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();
636 + </script>
637 + <?php
478 638
479 639 }