Changeset 3437320
- Timestamp:
- 01/12/2026 01:55:08 AM (2 months ago)
- Location:
- convertkit
- Files:
-
- 2 added
- 38 edited
- 1 copied
-
tags/3.1.4 (copied) (copied from convertkit/trunk)
-
tags/3.1.4/CHANGELOG.md (modified) (1 diff)
-
tags/3.1.4/admin/section/class-convertkit-admin-section-restrict-content.php (modified) (1 diff)
-
tags/3.1.4/includes/blocks/broadcasts/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/class-convertkit-block-form-builder-field-email.php (modified) (1 diff)
-
tags/3.1.4/includes/blocks/form-builder-field-custom/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/form-builder-field-email/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/form-builder-field-name/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/form-builder/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/form/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/formtrigger/block.json (modified) (1 diff)
-
tags/3.1.4/includes/blocks/product/block.json (modified) (1 diff)
-
tags/3.1.4/includes/class-convertkit-output-restrict-content.php (modified) (1 diff)
-
tags/3.1.4/includes/class-convertkit-settings-restrict-content.php (modified) (1 diff)
-
tags/3.1.4/includes/functions.php (modified) (1 diff)
-
tags/3.1.4/includes/integrations/class-convertkit-impeka.php (added)
-
tags/3.1.4/languages/convertkit.pot (modified) (8 diffs)
-
tags/3.1.4/readme.txt (modified) (4 diffs)
-
tags/3.1.4/resources/backend/css/gutenberg.css (modified) (1 diff)
-
tags/3.1.4/resources/backend/js/gutenberg.js (modified) (13 diffs)
-
tags/3.1.4/wp-convertkit.php (modified) (3 diffs)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/admin/section/class-convertkit-admin-section-restrict-content.php (modified) (1 diff)
-
trunk/includes/blocks/broadcasts/block.json (modified) (1 diff)
-
trunk/includes/blocks/class-convertkit-block-form-builder-field-email.php (modified) (1 diff)
-
trunk/includes/blocks/form-builder-field-custom/block.json (modified) (1 diff)
-
trunk/includes/blocks/form-builder-field-email/block.json (modified) (1 diff)
-
trunk/includes/blocks/form-builder-field-name/block.json (modified) (1 diff)
-
trunk/includes/blocks/form-builder/block.json (modified) (1 diff)
-
trunk/includes/blocks/form/block.json (modified) (1 diff)
-
trunk/includes/blocks/formtrigger/block.json (modified) (1 diff)
-
trunk/includes/blocks/product/block.json (modified) (1 diff)
-
trunk/includes/class-convertkit-output-restrict-content.php (modified) (1 diff)
-
trunk/includes/class-convertkit-settings-restrict-content.php (modified) (1 diff)
-
trunk/includes/functions.php (modified) (1 diff)
-
trunk/includes/integrations/class-convertkit-impeka.php (added)
-
trunk/languages/convertkit.pot (modified) (8 diffs)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/resources/backend/css/gutenberg.css (modified) (1 diff)
-
trunk/resources/backend/js/gutenberg.js (modified) (13 diffs)
-
trunk/wp-convertkit.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
convertkit/tags/3.1.4/CHANGELOG.md
r3409026 r3437320 1 ### 3.1.4 2026-01-12 2 * Added: Settings: Member Content: Container CSS Class setting 3 * Added: Member Content: Automatically add `grve-container` CSS class for Impeka Theme 4 * Fix: Form Builder: Set email field type=email 5 * Fix: Blocks: Use Spinner when ProgressBar component unavailable in WordPress versions older than 6.3 6 * Updated: Blocks: Use apiVersion 2 7 8 ### 3.1.3 2025-12-18 9 * Added: Blocks: Field controls: Use 40px default size 10 * Fix: Blocks: Static flag warning 11 * Fix: Blocks: Unique `key` prop warning 12 * Fix: Setup Wizard: Replace `ConvertKit` with `Kit` in browser tab/window title 13 * Updated: Use WordPress Libraries 2.1.3 14 1 15 ### 3.1.2 2025-12-03 2 16 * Fix: Settings: Improve logic to automatically delete invalid Access Tokens -
convertkit/tags/3.1.4/admin/section/class-convertkit-admin-section-restrict-content.php
r3357832 r3437320 334 334 ); 335 335 336 add_settings_field( 337 'container_css_classes', 338 __( 'Container CSS Classes', 'convertkit' ), 339 array( $this, 'text_callback' ), 340 $this->settings_key, 341 $this->name, 342 array( 343 'name' => 'container_css_classes', 344 'label_for' => 'container_css_classes', 345 'description' => array( 346 __( 'Optional CSS classes to apply to the container wrapping the content preview and call to action for non-authenticated subscribers.', 'convertkit' ), 347 ), 348 ) 349 ); 350 336 351 } 337 352 -
convertkit/tags/3.1.4/includes/blocks/broadcasts/block.json
r3325326 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/broadcasts", 5 5 "title": "Kit Broadcasts", -
convertkit/tags/3.1.4/includes/blocks/class-convertkit-block-form-builder-field-email.php
r3403088 r3437320 32 32 */ 33 33 public $field_id = 'email'; 34 35 /** 36 * The type of field to render. 37 * 38 * @since 3.1.4 39 * 40 * @var string 41 */ 42 public $field_type = 'email'; 34 43 35 44 /** -
convertkit/tags/3.1.4/includes/blocks/form-builder-field-custom/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder-field-custom", 5 5 "title": "Kit Form Builder: Custom Field", -
convertkit/tags/3.1.4/includes/blocks/form-builder-field-email/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder-field-email", 5 5 "title": "Kit Form Builder: Email Field", -
convertkit/tags/3.1.4/includes/blocks/form-builder-field-name/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder-field-name", 5 5 "title": "Kit Form Builder: Name Field", -
convertkit/tags/3.1.4/includes/blocks/form-builder/block.json
r3376520 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder", 5 5 "title": "Kit Form Builder", -
convertkit/tags/3.1.4/includes/blocks/form/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form", 5 5 "title": "Kit Form", -
convertkit/tags/3.1.4/includes/blocks/formtrigger/block.json
r3325326 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/formtrigger", 5 5 "title": "Kit Form Trigger", -
convertkit/tags/3.1.4/includes/blocks/product/block.json
r3325326 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/product", 5 5 "title": "Kit Product", -
convertkit/tags/3.1.4/includes/class-convertkit-output-restrict-content.php
r3399438 r3437320 1226 1226 */ 1227 1227 $call_to_action = apply_filters( 'convertkit_output_restrict_content_call_to_action', $call_to_action, $this->post_id ); 1228 1229 // Fetch container CSS classes. 1230 $container_css_classes = explode( ' ', $this->restrict_content_settings->get_by_key( 'container_css_classes' ) ); 1231 1232 /** 1233 * Define the container CSS classes to wrap the content preview and call to action within. 1234 * 1235 * @since 3.1.4 1236 * 1237 * @param array $container_css_classes Container CSS classes. 1238 * @param int $post_id Post ID. 1239 */ 1240 $container_css_classes = apply_filters( 'convertkit_output_restrict_content_container_css_classes', $container_css_classes, $this->post_id ); 1241 1242 // Remove empty CSS classes. 1243 $container_css_classes = array_filter( $container_css_classes ); 1244 1245 // If container CSS classes are set, return the content preview and call to action wrapped in the container. 1246 if ( count( $container_css_classes ) ) { 1247 return '<div class="' . trim( implode( ' ', map_deep( $container_css_classes, 'sanitize_html_class' ) ) ) . '">' . $content_preview . $call_to_action . '</div>'; 1248 } 1228 1249 1229 1250 // Return the content preview and its call to action. -
convertkit/tags/3.1.4/includes/class-convertkit-settings-restrict-content.php
r3357832 r3437320 152 152 'email_check_heading' => __( 'We just emailed you a log in code', 'convertkit' ), 153 153 'email_check_text' => __( 'Enter the code below to finish logging in', 'convertkit' ), 154 'container_css_classes' => '', 154 155 ); 155 156 -
convertkit/tags/3.1.4/includes/functions.php
r3409026 r3437320 643 643 644 644 /** 645 * Checks if the given Theme is active. 646 * 647 * @since 3.1.4 648 * 649 * @param string $theme_name Theme name. 650 * @return bool 651 */ 652 function convertkit_is_theme_active( $theme_name ) { 653 654 // Assume Theme isn't active if we can't detect it. 655 if ( ! function_exists( 'wp_get_theme' ) ) { 656 return false; 657 } 658 659 // Check the Parent Theme if we're on a Child Theme. 660 if ( wp_get_theme()->parent() ) { 661 $theme = wp_get_theme()->parent(); 662 } else { 663 $theme = wp_get_theme(); 664 } 665 666 return strtolower( $theme->get( 'Name' ) ) === strtolower( $theme_name ); 667 668 } 669 670 /** 645 671 * Returns permitted HTML output when using wp_kses( ..., convertkit_kses_allowed_html()). 646 672 * -
convertkit/tags/3.1.4/languages/convertkit.pot
r3423037 r3437320 1 # Copyright (C) 202 5Kit1 # Copyright (C) 2026 Kit 2 2 # This file is distributed under the GPLv3 or later. 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Kit (formerly ConvertKit) 3.1. 3\n"5 "Project-Id-Version: Kit (formerly ConvertKit) 3.1.4\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/convertkit\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 202 5-12-18T10:45:11+00:00\n"12 "POT-Creation-Date: 2026-01-10T10:03:26+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 40 40 #: includes/blocks/class-convertkit-block-content.php:85 41 41 #: includes/blocks/class-convertkit-block-form-builder-field-custom.php:72 42 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 9942 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:108 43 43 #: includes/blocks/class-convertkit-block-form-builder-field-name.php:90 44 44 #: includes/blocks/class-convertkit-block-form-builder.php:353 … … 332 332 333 333 #: admin/section/class-convertkit-admin-section-form-entries.php:158 334 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:10 0334 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:109 335 335 msgid "Email" 336 336 msgstr "" … … 792 792 msgstr "" 793 793 794 #: admin/section/class-convertkit-admin-section-restrict-content.php:338 795 msgid "Container CSS Classes" 796 msgstr "" 797 794 798 #: admin/section/class-convertkit-admin-section-restrict-content.php:346 799 msgid "Optional CSS classes to apply to the container wrapping the content preview and call to action for non-authenticated subscribers." 800 msgstr "" 801 802 #: admin/section/class-convertkit-admin-section-restrict-content.php:361 795 803 msgid "Defines the text and button labels to display when a Page, Post or Custom Post has its Member Content setting defined." 796 804 msgstr "" 797 805 798 #: admin/section/class-convertkit-admin-section-restrict-content.php:3 59806 #: admin/section/class-convertkit-admin-section-restrict-content.php:374 799 807 msgid "Defines settings when a Page, Post or Custom Post type has its member content setting set to a Kit form." 800 808 msgstr "" 801 809 802 #: admin/section/class-convertkit-admin-section-restrict-content.php:3 72810 #: admin/section/class-convertkit-admin-section-restrict-content.php:387 803 811 msgid "Defines settings when a Page, Post or Custom Post type has its member content setting set to a Kit product." 804 812 msgstr "" 805 813 806 #: admin/section/class-convertkit-admin-section-restrict-content.php: 386814 #: admin/section/class-convertkit-admin-section-restrict-content.php:401 807 815 msgid "Defines settings when a Page, Post or Custom Post type has its member content setting set to a Kit tag." 808 816 msgstr "" 809 817 810 818 #. translators: 1: General settings screen link, 2: Closing link tag 811 #: admin/section/class-convertkit-admin-section-restrict-content.php: 398819 #: admin/section/class-convertkit-admin-section-restrict-content.php:413 812 820 #, php-format 813 821 msgid "Looking for reCAPTCHA settings? They can now be found in the %1$sGeneral settings screen%2$s." … … 1012 1020 #: includes/blocks/class-convertkit-block-content.php:84 1013 1021 #: includes/blocks/class-convertkit-block-form-builder-field-custom.php:71 1014 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 981022 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:107 1015 1023 #: includes/blocks/class-convertkit-block-form-builder-field-name.php:89 1016 1024 #: includes/blocks/class-convertkit-block-form-builder.php:352 … … 1204 1212 1205 1213 #: includes/blocks/class-convertkit-block-form-builder-field-custom.php:74 1206 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:1 011214 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:110 1207 1215 #: includes/blocks/class-convertkit-block-form-builder-field-name.php:92 1208 1216 msgid "Field" … … 1242 1250 msgstr "" 1243 1251 1244 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 681252 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:77 1245 1253 msgid "Kit Form Builder: Email Field" 1246 1254 msgstr "" 1247 1255 1248 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 941256 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:103 1249 1257 msgid "Adds an email field to the Kit Form Builder." 1250 1258 msgstr "" -
convertkit/tags/3.1.4/readme.txt
r3423037 r3437320 6 6 Tested up to: 6.9 7 7 Requires PHP: 7.1 8 Stable tag: 3.1. 38 Stable tag: 3.1.4 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 53 53 54 54 With the Form Builder block, you can: 55 55 56 - Add fields such as first name, email address, and custom fields 56 57 - Apply tags and sequences to subscribers for powerful segmentation … … 59 60 60 61 This makes the Form Builder block ideal for: 62 61 63 - Subscription forms to grow your email subscribers list 62 64 - Contact forms that connect directly to Kit … … 141 143 == Frequently asked questions == 142 144 143 = Does this plugin require a paid service? = 144 145 No. You must first have an account on [kit.com](https://kit.com?utm_source=wordpress&utm_term=en_US&utm_content=readme), but you do not have to use a paid plan! 146 147 = How do I refresh my available Forms, Landing Pages and Tags? = 148 149 Either: 150 151 - Navigate to the Plugin's Settings at `Settings > Kit` 152 - Click the refresh button displayed next to the Form, Landing Page or Tag fields when creating/editing Pages or Posts to ensure your latest email newsletter forms are available 153 154 = How do I automatically import Kit Broadcasts to WordPress Posts? = 155 156 To import your past (and future) email newsletters from Kit to WordPress: 157 158 - Navigate to the Plugin's Settings at `Settings > Kit` 159 - Click the `Broadcasts` tab 160 - Tick the `Enable Automatic Import` option 161 - Configure other settings as necessary, and click `Save Changes` when done to streamline your email newsletter publishing 162 163 = Where can I find the Plugin's Documentation? = 164 165 Full Plugin documentation can be found [here](https://help.kit.com/en/articles/2502591-how-to-set-up-the-kit-plugin-on-your-wordpress-website?utm_source=wordpress&utm_content=readme). 145 = Is Kit free for email newsletter creators? = 146 147 Yes! Kit is 100% free for your first 10,000 email subscribers - [sign up today](https://kit.com?utm_source=wordpress&utm_term=en_US&utm_content=readme). This makes it perfect for new newsletter creators, bloggers starting email marketing, and small membership sites. You can grow your email subscribers list, send newsletters, create landing pages, and even sell membership products without paying anything until you exceed 10,000 newsletter subscribers. 148 149 = How do I create newsletter signup forms? = 150 151 Create newsletter subscription forms directly in your Kit account using the visual form builder. Design inline forms, modal popups, slide-in forms, or sticky bars optimized for email subscriber conversion. Once created, the newsletter forms automatically sync with the WordPress plugin and become available for embedding on your site to grow your email subscribers list. 152 153 = Can I create landing pages for email subscriber growth? = 154 155 Yes! Design professional landing pages in Kit's landing page editor, then display them on any WordPress page. Landing pages are optimized specifically for email newsletter signups and subscriber conversion. Choose from pre-built landing page templates or customize your own. The plugin seamlessly integrates Kit landing pages into WordPress for consistent subscriber experience. 156 157 = How does the membership site feature work? = 158 159 The membership feature lets you restrict WordPress content to paying email subscribers or newsletter members. Create Products in Kit, then assign them to specific WordPress pages or posts. When email subscribers visit protected content, they're prompted to enter their email. If they've purchased the required Kit Product, they receive membership access via a magic link. No complex membership plugins needed. 160 161 = Can I segment my email subscribers for targeted newsletters? = 162 163 Absolutely! Kit provides powerful subscriber segmentation using tags. Automatically tag email subscribers based on which newsletter form they used, which links they clicked, or which Kit Products they purchased. Send targeted email newsletters to specific subscriber segments for more relevant email marketing campaigns and higher newsletter engagement rates. 164 165 = Do I need coding knowledge to use this plugin? = 166 167 No coding required! Create newsletter subscription forms, landing pages, and email campaigns using Kit's visual editors. Embed newsletter forms using native WordPress blocks or simple shortcodes. Build membership sites by selecting Products from dropdowns. Even custom newsletter forms in WordPress can be built using the drag-and-drop block editor without touching code. 168 169 = How do I refresh available forms, landing pages, and tags? = 170 171 Click the refresh button next to Form, Landing Page, or Tag dropdowns when editing Pages or Posts. This syncs your latest newsletter forms and products from Kit to WordPress. You can also refresh all resources at once by navigating to Settings > Kit and clicking refresh. This ensures your newest email subscriber capture forms are always available. 172 173 = Can I automatically import email newsletters to WordPress? = 174 175 Yes! Navigate to Settings > Kit > Broadcasts and enable automatic import. Your published email newsletters from Kit will automatically import as WordPress posts. Configure the import schedule, post author, category, and featured image settings. This keeps newsletter subscribers engaged by making your email content discoverable on your site. 176 177 = What integrations work with email subscriber capture? = 178 179 The plugin integrates with Contact Form 7, Gravity Forms, WooCommerce, WishList Member, Elementor, and more. Automatically add form submissions as email subscribers, tag WooCommerce customers for email marketing, sync membership levels with newsletter subscriber tags, and use native Elementor widgets for newsletter forms. Additional integrations available through separate plugins. 180 181 = How do I display newsletter forms in specific locations? = 182 183 You have multiple options for newsletter form placement. Set site-wide defaults that display newsletter signup forms automatically below posts and pages. Override defaults on individual posts to show specific email subscriber forms. Use blocks or shortcodes to embed newsletter forms within content at optimal conversion points. Add widget newsletter forms to sidebars and footers. 184 185 = Can I create free membership content for newsletter subscribers? = 186 187 Yes! You can gate content requiring only email subscription without requiring payment. This is perfect for exclusive newsletter subscriber content, free member communities, or content upgrades. Use Tag-based restrictions where entering an email and receiving membership access via magic link is all that's required. Great for building email subscriber loyalty. 188 189 = Does this work with my WordPress theme? = 190 191 The plugin works with any WordPress theme. Newsletter signup forms and landing pages are designed to adapt to your theme's styling. The Form Builder block uses your theme's CSS ensuring newsletter forms match your site perfectly. Inline forms blend seamlessly into content while modal, slide-in, and sticky bar newsletter forms maintain Kit's polished design. 192 193 = How do I track email subscriber growth and conversions? = 194 195 Track subscriber growth, newsletter form conversion rates, email campaign performance, and landing page analytics directly in your Kit dashboard. Monitor which newsletter forms convert best, which landing pages drive the most email subscribers, and which email newsletters get the highest engagement from your subscriber list. All metrics update in real-time. 196 197 = What's the difference between inline and non-inline newsletter forms? = 198 199 Inline newsletter forms embed directly within page content and scroll with the page. They're great for email subscriber capture within blog posts. Non-inline forms include modals (popups), slide-ins (appear from corners), and sticky bars (fixed to top/bottom). Non-inline newsletter forms demand attention and often achieve higher email subscriber conversion rates. 200 201 = Can I customize newsletter form colors and styling? = 202 203 Yes! Customize newsletter subscription forms in Kit's form editor matching your brand colors, fonts, and style. Adjust form button colors, input field styling, and background colors. For inline forms, the Form Builder block in WordPress uses your theme's styling automatically, ensuring newsletter forms blend seamlessly with your site design. 204 205 = What happens when someone subscribes to my newsletter? = 206 207 When visitors submit newsletter signup forms, they're added as email subscribers to your Kit account. You can configure forms to immediately add subscribers to your newsletter list, tag them for segmentation, or enroll them in automated email sequences. Subscribers receive welcome emails if configured, and you can start sending email newsletters immediately. 208 209 = How do membership magic links work for subscribers? = 210 211 When an email subscriber tries accessing protected membership content, they enter their email address. If they've purchased the required Kit Product or have the necessary tag, they receive an email containing a one-time code and magic link. Clicking the magic link or entering the code grants immediate membership access without requiring passwords. 212 213 = Can I sell digital products through membership features? = 214 215 Yes! Create Products in Kit and sell them directly to your email subscribers. Products can be one-time purchases, subscriptions, or tip jars. Assign Products to WordPress pages and posts as membership content. When newsletter subscribers purchase Products, they automatically get membership access to all associated content in WordPress. 216 217 = Do newsletter forms slow down my site? = 218 219 No. Newsletter subscription forms load asynchronously and are optimized for performance. The plugin only loads necessary assets on pages actually displaying newsletter forms. Landing pages are hosted on Kit's servers ensuring fast load times. The lightweight codebase ensures email subscriber capture doesn't impact your WordPress site speed. 220 221 = How many newsletter forms can I create? = 222 223 There's no limit to the number of newsletter subscription forms you can create in Kit. Design different forms for different audiences, pages, or lead magnets. Create targeted newsletter signup forms for each email subscriber segment. Test variations of forms to optimize conversion. All forms sync automatically with the WordPress plugin. 224 225 = Can I schedule email newsletters to subscribers? = 226 227 Yes! Kit's email marketing platform lets you schedule newsletter campaigns to send at optimal times for your email subscribers. Write newsletters in advance and schedule them for future delivery. Set up recurring newsletters that send automatically on a schedule. Ensure global email subscribers receive newsletters at appropriate times for their timezone. 228 229 = What's the difference between tags and segments for email subscribers? = 230 231 Tags are labels you apply to newsletter subscribers based on interests, behavior, or characteristics. Segments are filtered views of your subscriber list based on one or more tags. Use tags to organize email subscribers, then create segments to send targeted newsletters. For example, tag subscribers as "interested in courses" then create a segment for course email marketing. 232 233 = Can I migrate existing email subscribers to Kit? = 234 235 Yes! Kit provides easy import tools for migrating email subscribers from other platforms. Import CSV files containing subscriber data. The plugin maintains subscriber tags and preferences during migration. You can continue sending newsletters immediately after importing. Kit's migration support team helps with large subscriber list transfers. 236 237 = How do I remove email subscribers from newsletters? = 238 239 Email subscribers can unsubscribe from newsletters using links automatically included in every email campaign per email marketing regulations. You can also manually remove subscribers from Settings > Kit in WordPress or directly in your Kit account. Unsubscribed email addresses are automatically excluded from future newsletter sends. 240 241 = Does this work with WooCommerce for email marketing? = 242 243 Yes! The separate Kit for WooCommerce plugin adds powerful integrations. Automatically subscribe WooCommerce customers to email newsletters at checkout. Tag purchasers for targeted email marketing campaigns. Track purchase data for each newsletter subscriber. Send abandoned cart emails to recover lost sales. Build email subscriber value over time. 244 245 = Can I create multiple membership tiers for subscribers? = 246 247 Yes! Create different Kit Products for each membership tier. Assign Products to different WordPress content. Newsletter subscribers purchase the membership tier they want and automatically get access to corresponding content. Create Bronze, Silver, Gold membership tiers each with different Products and content access for paying email subscribers. 248 249 = How do landing pages improve email subscriber conversions? = 250 251 Landing pages are specifically designed for single conversion goals like email newsletter signups. They remove navigation and distractions, focusing visitors entirely on becoming email subscribers. Use compelling headlines, clear value propositions, social proof, and strong calls-to-action. Kit's landing page templates are proven to convert visitors into newsletter subscribers at high rates. 252 253 = What email marketing automations can I create for subscribers? = 254 255 Create welcome sequences greeting new email subscribers with your best content. Build product launch funnels promoting offers to newsletter segments. Set up abandoned cart sequences for WooCommerce email marketing. Create re-engagement campaigns for inactive newsletter subscribers. Configure behavioral automations tagging email subscribers based on email clicks and website activity. 256 257 = Can I embed past email newsletters on my WordPress site? = 258 259 Yes! Use the Broadcasts block or `[convertkit_broadcasts]` shortcode to display past email newsletters on any page or post. This keeps newsletter content discoverable for website visitors, drives email subscriber signups from engaged readers, and extends the life of newsletter content beyond inboxes. 260 261 = How do I optimize newsletter forms for mobile email subscribers? = 262 263 All newsletter subscription forms and landing pages are automatically mobile-responsive. Forms resize and reorganize for small screens ensuring easy email subscriber signup on phones and tablets. Test newsletter forms on mobile devices to verify the email subscriber experience. The Form Builder block uses responsive WordPress patterns for perfect mobile newsletter conversion. 264 265 = What's the best strategy for growing email subscribers? = 266 267 Use multiple newsletter form types strategically. Place inline newsletter forms within valuable blog posts where visitors are most engaged. Add exit-intent modal newsletter forms to capture abandoning visitors as email subscribers. Include sticky bar newsletter forms for persistent visibility. Create dedicated landing pages for lead magnets. Test and optimize all newsletter forms for maximum email subscriber growth. 268 269 = Can I use newsletter forms with page builders? = 270 271 Yes! The plugin includes integrations with popular page builders. Use native Elementor widgets for newsletter forms and email subscriber content. Divi modules available for newsletter integration. All page builders support the shortcode method for email subscriber forms. The WordPress block editor provides native blocks for newsletter capture. 272 273 = How do I create a newsletter lead magnet funnel? = 274 275 Create a compelling lead magnet (ebook, checklist, course) that solves a specific problem for your target email subscribers. Design a dedicated landing page promoting the lead magnet optimized for newsletter signups. Create a newsletter subscription form offering the lead magnet in exchange for email addresses. Set up an automated email sequence delivering the lead magnet and nurturing new newsletter subscribers. 276 277 = What is the Form Builder block for email newsletter forms? = 278 279 The Form Builder block is a native WordPress block that lets you create custom email newsletter subscription forms directly in the WordPress editor without any coding. Unlike embedding pre-designed forms from Kit, the Form Builder block gives you complete control to design newsletter signup forms that perfectly match your WordPress theme's styling and branding for optimal email subscriber conversion. 280 281 = How does the Form Builder block differ from regular newsletter forms? = 282 283 Regular newsletter forms are designed in Kit and embedded in WordPress. The Form Builder block lets you build email subscription forms entirely within WordPress using the block editor. Form Builder newsletter forms automatically inherit your theme's typography, colors, and spacing. You can customize every aspect including form fields, button styling, colors, spacing, and layout while maintaining your site's design consistency for email subscribers. 284 285 = Can I customize Form Builder newsletter forms to match my brand? = 286 287 Yes! The Form Builder block provides extensive customization options for email newsletter forms. Adjust typography including font families, sizes, and weights. Customize colors for form fields, buttons, labels, and backgrounds. Control spacing with margin and padding settings. Add custom CSS classes for advanced styling. Form Builder newsletter forms adapt to your WordPress theme while allowing granular control over email subscriber form appearance. 288 289 = What fields can I add to Form Builder newsletter subscription forms? = 290 291 The Form Builder block supports multiple field types for email newsletter signups. Add email address fields (required), first name fields, last name fields, and custom fields you've created in Kit. All fields can be marked as required or optional. This flexibility lets you collect exactly the email subscriber information you need while keeping newsletter forms simple and conversion-focused. 292 293 = Does the Form Builder block work with Kit tags and sequences? = 294 295 Absolutely! When building newsletter subscription forms with the Form Builder block, you can assign Kit tags to segment email subscribers automatically. Subscribe new email addresses to specific Kit sequences to trigger automated email marketing campaigns. Configure reCAPTCHA protection if enabled in your Kit account. Form Builder newsletter forms have full integration with Kit's email subscriber management features. 296 297 = How do I add a Form Builder newsletter form to my WordPress site? = 298 299 In the WordPress block editor, click the plus icon to add a new block and search for "Kit Form Builder." Add the block to your page or post. Configure your email newsletter form by adding fields like email and first name. Customize the styling, colors, and spacing to match your theme. Optionally assign tags or sequences for email subscriber segmentation. Publish to start capturing email subscribers with your custom newsletter form. 300 301 = Can Form Builder newsletter forms collect custom subscriber data? = 302 303 Yes! The Form Builder block supports custom fields you've created in your Kit account. Add custom fields to collect specific information from email newsletter subscribers like job titles, company names, interests, or any data relevant to your email marketing strategy. Custom field data syncs to Kit automatically, enabling advanced email subscriber segmentation and personalized newsletter campaigns. 304 305 = Are Form Builder newsletter forms mobile responsive? = 306 307 All Form Builder newsletter subscription forms are automatically mobile responsive. Forms adapt to screen sizes ensuring email subscribers can easily sign up on phones and tablets. The Form Builder block uses responsive WordPress patterns and follows your theme's mobile styling. Test newsletter forms on multiple devices to verify the optimal email subscriber experience across all screen sizes. 308 309 = Can I use the Form Builder block for contact forms and email subscribers? = 310 311 Yes! The Form Builder block works as both a newsletter subscription form and a contact form. Collect email addresses and additional information from visitors. When someone submits a Form Builder form, they're automatically added as email subscribers to your Kit account and can be tagged or added to sequences. This makes Form Builder perfect for dual-purpose forms capturing both contacts and newsletter subscribers. 312 313 = Does the Form Builder block support spam protection for newsletter signups? = 314 315 Yes! The Form Builder block integrates with Google reCAPTCHA v3 if configured in your Kit account at Settings > Kit > General. This protects your email newsletter forms from bot submissions and fake email subscribers. reCAPTCHA runs invisibly in the background, ensuring legitimate newsletter subscribers have a smooth signup experience while blocking spam from polluting your email list. 316 317 = How does the Form Builder block handle newsletter form styling? = 318 319 The Form Builder block uses your WordPress theme's CSS by default, ensuring newsletter subscription forms match your site design automatically. You can then customize individual elements including button colors, input field borders, label typography, and spacing. The block provides intuitive controls in the WordPress editor sidebar letting you style email newsletter forms visually without touching code while maintaining theme consistency. 320 321 = Can I view Form Builder newsletter form submissions in WordPress? = 322 323 Yes! Navigate to Settings > Kit > Form Entries to view all submissions from Form Builder newsletter forms. Search entries by email address, filter by submission date or API result, and export subscriber data as CSV files. This gives you a WordPress-based view of email newsletter signups alongside Kit's subscriber management, perfect for tracking email subscriber acquisition and form performance. 324 325 = Where can I find complete plugin documentation? = 326 327 Comprehensive documentation is available at: [Kit WordPress Plugin Setup Guide](https://help.kit.com/en/articles/2502591-how-to-set-up-the-kit-plugin-on-your-wordpress-website?utm_source=wordpress&utm_content=readme) 328 329 The documentation covers newsletter form setup, landing page configuration, membership site creation, email marketing automation, subscriber segmentation, and all plugin features for growing your email newsletter. 166 330 167 331 == Screenshots == 168 332 169 1. Create and customize stunning email subscription forms and landing pages in Kit170 2. Manage the WordPress plugin from a simple settings page in the WordPress admin171 3. A ppend Kit forms to Pages, Posts or other Custom Post Types to grow your email subscribers172 4. Configure a specific Kit form to display on a specific Page or Post173 5. Display your Kit forms anywhere on your WordPress web site using the form block / shortcode174 6. Configure a Kit landing page to be used in place of a WordPress Page, to capture email subscribers175 7. Automatically import your past email newsletters to WordPress Posts176 8. Create your paid membership site by assigning paid Kit Products to your existing WordPress content177 9. Set up form a nd landing page automations in Kit178 10. Track subscriber growth and email newsletter performance333 1. Create stunning email newsletter subscription forms and landing pages in Kit's visual editor optimized for email subscriber conversion 334 2. Simple WordPress plugin settings page to manage email newsletter forms, landing pages, and membership features for subscribers 335 3. Automatically append newsletter signup forms to Posts, Pages, or Custom Post Types to capture email subscribers site-wide 336 4. Configure specific email newsletter forms on individual Pages and Posts for targeted subscriber growth and email marketing 337 5. Display newsletter subscription forms anywhere using blocks or shortcodes to maximize email subscriber capture opportunities 338 6. Replace WordPress pages with Kit landing pages optimized specifically for email newsletter subscriber acquisition 339 7. Automatically import published email newsletters from Kit to WordPress Posts keeping subscribers engaged with searchable newsletter content 340 8. Build paid membership sites by assigning Kit Products to WordPress content accessible only to paying email subscribers 341 9. Set up form automations and email marketing sequences in Kit to nurture newsletter subscribers and drive conversions 342 10. Track email subscriber growth, newsletter performance, landing page conversions, and membership site analytics in real-time 179 343 180 344 == Changelog == 345 346 ### 3.1.4 2026-01-12 347 * Added: Settings: Member Content: Container CSS Class setting 348 * Added: Member Content: Automatically add `grve-container` CSS class for Impeka Theme 349 * Fix: Form Builder: Set email field type=email 350 * Fix: Blocks: Use Spinner when ProgressBar component unavailable in WordPress versions older than 6.3 351 * Updated: Blocks: Use apiVersion 2 181 352 182 353 ### 3.1.3 2025-12-18 -
convertkit/tags/3.1.4/resources/backend/css/gutenberg.css
r3423037 r3437320 37 37 right: 20px; 38 38 line-height: 22px; 39 width: auto; 39 40 } 40 41 41 .wp-block .convertkit-no-content .convertkit-progress-bar { 42 .wp-block .convertkit-no-content .convertkit-progress-bar, 43 .wp-block .convertkit-no-content .spinner { 44 float: none; 42 45 margin: 0 auto; 43 46 } -
convertkit/tags/3.1.4/resources/backend/js/gutenberg.js
r3423037 r3437320 42 42 const el = element.createElement; 43 43 const { registerBlockType } = blocks; 44 const { InspectorControls, InnerBlocks } = editor;45 const { Fragment,useState } = element;44 const { InspectorControls, InnerBlocks, useBlockProps } = editor; 45 const { useState } = element; 46 46 const { 47 47 Button, … … 365 365 * @return {Object} Block settings sidebar elements. 366 366 */ 367 const editBlock = function (props) { 367 const EditBlock = function (props) { 368 const blockProps = useBlockProps(); 369 370 // Refresh button disabled state on DisplayNoticeWithLink. 371 // This must be here to avoid React error on hook order change when the user e.g. 372 // connects their Kit account from within the block itself. 373 const [buttonDisabled, setButtonDisabled] = useState(false); 374 368 375 // If requesting an example of how this block looks (which is requested 369 376 // when the user adds a new block and hovers over this block's icon), 370 377 // show the preview image. 371 378 if (props.attributes.is_gutenberg_example === true) { 372 return (373 Fragment,374 {},379 return el( 380 'div', 381 blockProps, 375 382 el('img', { 376 383 src: block.gutenberg_example_image, … … 382 389 // for this block, show a message in the block to tell the user what to do. 383 390 if (!block.has_access_token || !block.has_resources) { 384 return DisplayNoticeWithLink(props); 391 return DisplayNoticeWithLink( 392 props, 393 blockProps, 394 buttonDisabled, 395 setButtonDisabled 396 ); 385 397 } 386 398 … … 402 414 props 403 415 ); 404 return editBlockWithPanelsAndPreview(panels, preview); 416 return editBlockWithPanelsAndPreview( 417 panels, 418 preview, 419 blockProps 420 ); 405 421 } 406 422 … … 417 433 block.gutenberg_help_description 418 434 ); 419 return editBlockWithPanelsAndPreview(panels, preview); 435 return editBlockWithPanelsAndPreview( 436 panels, 437 preview, 438 blockProps 439 ); 420 440 } 421 441 … … 444 464 }) 445 465 ); 446 return editBlockWithPanelsAndPreview(panels, preview); 466 return editBlockWithPanelsAndPreview( 467 panels, 468 preview, 469 blockProps 470 ); 447 471 } 448 472 … … 456 480 className: 'convertkit-ssr-' + block.name, 457 481 }); 458 return editBlockWithPanelsAndPreview(panels, preview );482 return editBlockWithPanelsAndPreview(panels, preview, blockProps); 459 483 }; 460 484 … … 465 489 * @since 3.0.0 466 490 * 467 * @param {Object} panels Block panels. 468 * @param {Object} preview Block preview. 469 * @return {Object} Block settings sidebar elements. 470 */ 471 const editBlockWithPanelsAndPreview = function (panels, preview) { 472 return el( 473 // Sidebar Panel with Fields. 474 Fragment, 475 {}, 491 * @param {Object} panels Block panels. 492 * @param {Object} preview Block preview. 493 * @param {Object} blockProps Block properties. 494 * @return {Object} Block settings sidebar elements. 495 */ 496 const editBlockWithPanelsAndPreview = function ( 497 panels, 498 preview, 499 blockProps 500 ) { 501 return el('div', blockProps, [ 476 502 el(InspectorControls, {}, panels), 477 // Block Preview. 478 preview 479 ); 503 preview, 504 ]); 480 505 }; 481 506 … … 489 514 const saveBlock = function () { 490 515 if (typeof block.gutenberg_template !== 'undefined') { 491 return el('div', {}, el(InnerBlocks.Content)); 516 // Use useBlockProps.save() to preserve styling classes and attributes 517 // from block supports (colors, typography, spacing, etc.) 518 const blockProps = useBlockProps.save(); 519 return el('div', blockProps, el(InnerBlocks.Content)); 492 520 } 493 521 … … 505 533 * @since 2.2.5 506 534 * 507 * @param {Object} props Block properties. 508 * @return {Object} Notice. 509 */ 510 const DisplayNoticeWithLink = function (props) { 511 // useState to toggle the refresh button's disabled state. 512 const [buttonDisabled, setButtonDisabled] = useState(false); 513 535 * @param {Object} props Block properties. 536 * @param {Object} blockProps Block properties. 537 * @param {boolean} buttonDisabled Whether the refresh button is disabled (true) or enabled (false) 538 * @param {Function} setButtonDisabled Function to enable or disable the refresh button. 539 * @return {Object} Notice. 540 */ 541 const DisplayNoticeWithLink = function ( 542 props, 543 blockProps, 544 buttonDisabled, 545 setButtonDisabled 546 ) { 514 547 // Holds the array of elements to display in the notice component. 515 548 let elements; … … 542 575 return el( 543 576 'div', 544 { 545 // convertkit-no-content class allows resources/backend/css/gutenberg.css 546 // to apply styling/branding to the block. 547 className: 548 'convertkit-' + block.name + ' convertkit-no-content', 549 }, 550 elements 577 blockProps, 578 el( 579 'div', 580 { 581 // convertkit-no-content class allows resources/backend/css/gutenberg.css 582 // to apply styling/branding to the block. 583 className: 584 'convertkit-' + 585 block.name + 586 ' convertkit-no-content', 587 }, 588 elements 589 ) 551 590 ); 552 591 }; … … 561 600 */ 562 601 const loadingIndicator = function (props) { 602 // If the ProgressBar component is not available i.e. WordPress < 6.3, return a spinner. 603 if (typeof ProgressBar === 'undefined') { 604 return el('span', { 605 key: props.clientId + '-spinner', 606 className: 'spinner is-active convertkit-block-refreshing', 607 }); 608 } 609 563 610 return el(ProgressBar, { 564 611 key: props.clientId + '-progress-bar', 565 className: 'convertkit-progress-bar', 612 className: 613 'convertkit-progress-bar convertkit-block-refreshing', 566 614 }); 567 615 }; … … 852 900 853 901 // Editor. 854 edit: editBlock,902 edit: EditBlock, 855 903 856 904 // Output. -
convertkit/tags/3.1.4/wp-convertkit.php
r3423037 r3437320 10 10 * Plugin URI: https://kit.com/ 11 11 * Description: Display Kit (formerly ConvertKit) email subscription forms, landing pages, products, broadcasts and more. 12 * Version: 3.1. 312 * Version: 3.1.4 13 13 * Author: Kit 14 14 * Author URI: https://kit.com/ … … 28 28 define( 'CONVERTKIT_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); 29 29 define( 'CONVERTKIT_PLUGIN_PATH', __DIR__ ); 30 define( 'CONVERTKIT_PLUGIN_VERSION', '3.1. 3' );30 define( 'CONVERTKIT_PLUGIN_VERSION', '3.1.4' ); 31 31 define( 'CONVERTKIT_OAUTH_CLIENT_ID', 'HXZlOCj-K5r0ufuWCtyoyo3f688VmMAYSsKg1eGvw0Y' ); 32 32 define( 'CONVERTKIT_OAUTH_CLIENT_REDIRECT_URI', 'https://app.kit.com/wordpress/redirect' ); … … 146 146 require_once CONVERTKIT_PLUGIN_PATH . '/includes/integrations/forminator/class-convertkit-forminator-settings.php'; 147 147 148 // Impeka Integration. 149 require_once CONVERTKIT_PLUGIN_PATH . '/includes/integrations/class-convertkit-impeka.php'; 150 148 151 // Uncode Integration. 149 152 require_once CONVERTKIT_PLUGIN_PATH . '/includes/integrations/class-convertkit-uncode.php'; -
convertkit/trunk/CHANGELOG.md
r3409026 r3437320 1 ### 3.1.4 2026-01-12 2 * Added: Settings: Member Content: Container CSS Class setting 3 * Added: Member Content: Automatically add `grve-container` CSS class for Impeka Theme 4 * Fix: Form Builder: Set email field type=email 5 * Fix: Blocks: Use Spinner when ProgressBar component unavailable in WordPress versions older than 6.3 6 * Updated: Blocks: Use apiVersion 2 7 8 ### 3.1.3 2025-12-18 9 * Added: Blocks: Field controls: Use 40px default size 10 * Fix: Blocks: Static flag warning 11 * Fix: Blocks: Unique `key` prop warning 12 * Fix: Setup Wizard: Replace `ConvertKit` with `Kit` in browser tab/window title 13 * Updated: Use WordPress Libraries 2.1.3 14 1 15 ### 3.1.2 2025-12-03 2 16 * Fix: Settings: Improve logic to automatically delete invalid Access Tokens -
convertkit/trunk/admin/section/class-convertkit-admin-section-restrict-content.php
r3357832 r3437320 334 334 ); 335 335 336 add_settings_field( 337 'container_css_classes', 338 __( 'Container CSS Classes', 'convertkit' ), 339 array( $this, 'text_callback' ), 340 $this->settings_key, 341 $this->name, 342 array( 343 'name' => 'container_css_classes', 344 'label_for' => 'container_css_classes', 345 'description' => array( 346 __( 'Optional CSS classes to apply to the container wrapping the content preview and call to action for non-authenticated subscribers.', 'convertkit' ), 347 ), 348 ) 349 ); 350 336 351 } 337 352 -
convertkit/trunk/includes/blocks/broadcasts/block.json
r3325326 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/broadcasts", 5 5 "title": "Kit Broadcasts", -
convertkit/trunk/includes/blocks/class-convertkit-block-form-builder-field-email.php
r3403088 r3437320 32 32 */ 33 33 public $field_id = 'email'; 34 35 /** 36 * The type of field to render. 37 * 38 * @since 3.1.4 39 * 40 * @var string 41 */ 42 public $field_type = 'email'; 34 43 35 44 /** -
convertkit/trunk/includes/blocks/form-builder-field-custom/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder-field-custom", 5 5 "title": "Kit Form Builder: Custom Field", -
convertkit/trunk/includes/blocks/form-builder-field-email/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder-field-email", 5 5 "title": "Kit Form Builder: Email Field", -
convertkit/trunk/includes/blocks/form-builder-field-name/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder-field-name", 5 5 "title": "Kit Form Builder: Name Field", -
convertkit/trunk/includes/blocks/form-builder/block.json
r3376520 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form-builder", 5 5 "title": "Kit Form Builder", -
convertkit/trunk/includes/blocks/form/block.json
r3357832 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/form", 5 5 "title": "Kit Form", -
convertkit/trunk/includes/blocks/formtrigger/block.json
r3325326 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/formtrigger", 5 5 "title": "Kit Form Trigger", -
convertkit/trunk/includes/blocks/product/block.json
r3325326 r3437320 1 1 { 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 "apiVersion": 1,3 "apiVersion": 2, 4 4 "name": "convertkit/product", 5 5 "title": "Kit Product", -
convertkit/trunk/includes/class-convertkit-output-restrict-content.php
r3399438 r3437320 1226 1226 */ 1227 1227 $call_to_action = apply_filters( 'convertkit_output_restrict_content_call_to_action', $call_to_action, $this->post_id ); 1228 1229 // Fetch container CSS classes. 1230 $container_css_classes = explode( ' ', $this->restrict_content_settings->get_by_key( 'container_css_classes' ) ); 1231 1232 /** 1233 * Define the container CSS classes to wrap the content preview and call to action within. 1234 * 1235 * @since 3.1.4 1236 * 1237 * @param array $container_css_classes Container CSS classes. 1238 * @param int $post_id Post ID. 1239 */ 1240 $container_css_classes = apply_filters( 'convertkit_output_restrict_content_container_css_classes', $container_css_classes, $this->post_id ); 1241 1242 // Remove empty CSS classes. 1243 $container_css_classes = array_filter( $container_css_classes ); 1244 1245 // If container CSS classes are set, return the content preview and call to action wrapped in the container. 1246 if ( count( $container_css_classes ) ) { 1247 return '<div class="' . trim( implode( ' ', map_deep( $container_css_classes, 'sanitize_html_class' ) ) ) . '">' . $content_preview . $call_to_action . '</div>'; 1248 } 1228 1249 1229 1250 // Return the content preview and its call to action. -
convertkit/trunk/includes/class-convertkit-settings-restrict-content.php
r3357832 r3437320 152 152 'email_check_heading' => __( 'We just emailed you a log in code', 'convertkit' ), 153 153 'email_check_text' => __( 'Enter the code below to finish logging in', 'convertkit' ), 154 'container_css_classes' => '', 154 155 ); 155 156 -
convertkit/trunk/includes/functions.php
r3409026 r3437320 643 643 644 644 /** 645 * Checks if the given Theme is active. 646 * 647 * @since 3.1.4 648 * 649 * @param string $theme_name Theme name. 650 * @return bool 651 */ 652 function convertkit_is_theme_active( $theme_name ) { 653 654 // Assume Theme isn't active if we can't detect it. 655 if ( ! function_exists( 'wp_get_theme' ) ) { 656 return false; 657 } 658 659 // Check the Parent Theme if we're on a Child Theme. 660 if ( wp_get_theme()->parent() ) { 661 $theme = wp_get_theme()->parent(); 662 } else { 663 $theme = wp_get_theme(); 664 } 665 666 return strtolower( $theme->get( 'Name' ) ) === strtolower( $theme_name ); 667 668 } 669 670 /** 645 671 * Returns permitted HTML output when using wp_kses( ..., convertkit_kses_allowed_html()). 646 672 * -
convertkit/trunk/languages/convertkit.pot
r3423037 r3437320 1 # Copyright (C) 202 5Kit1 # Copyright (C) 2026 Kit 2 2 # This file is distributed under the GPLv3 or later. 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Kit (formerly ConvertKit) 3.1. 3\n"5 "Project-Id-Version: Kit (formerly ConvertKit) 3.1.4\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/convertkit\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 202 5-12-18T10:45:11+00:00\n"12 "POT-Creation-Date: 2026-01-10T10:03:26+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 40 40 #: includes/blocks/class-convertkit-block-content.php:85 41 41 #: includes/blocks/class-convertkit-block-form-builder-field-custom.php:72 42 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 9942 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:108 43 43 #: includes/blocks/class-convertkit-block-form-builder-field-name.php:90 44 44 #: includes/blocks/class-convertkit-block-form-builder.php:353 … … 332 332 333 333 #: admin/section/class-convertkit-admin-section-form-entries.php:158 334 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:10 0334 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:109 335 335 msgid "Email" 336 336 msgstr "" … … 792 792 msgstr "" 793 793 794 #: admin/section/class-convertkit-admin-section-restrict-content.php:338 795 msgid "Container CSS Classes" 796 msgstr "" 797 794 798 #: admin/section/class-convertkit-admin-section-restrict-content.php:346 799 msgid "Optional CSS classes to apply to the container wrapping the content preview and call to action for non-authenticated subscribers." 800 msgstr "" 801 802 #: admin/section/class-convertkit-admin-section-restrict-content.php:361 795 803 msgid "Defines the text and button labels to display when a Page, Post or Custom Post has its Member Content setting defined." 796 804 msgstr "" 797 805 798 #: admin/section/class-convertkit-admin-section-restrict-content.php:3 59806 #: admin/section/class-convertkit-admin-section-restrict-content.php:374 799 807 msgid "Defines settings when a Page, Post or Custom Post type has its member content setting set to a Kit form." 800 808 msgstr "" 801 809 802 #: admin/section/class-convertkit-admin-section-restrict-content.php:3 72810 #: admin/section/class-convertkit-admin-section-restrict-content.php:387 803 811 msgid "Defines settings when a Page, Post or Custom Post type has its member content setting set to a Kit product." 804 812 msgstr "" 805 813 806 #: admin/section/class-convertkit-admin-section-restrict-content.php: 386814 #: admin/section/class-convertkit-admin-section-restrict-content.php:401 807 815 msgid "Defines settings when a Page, Post or Custom Post type has its member content setting set to a Kit tag." 808 816 msgstr "" 809 817 810 818 #. translators: 1: General settings screen link, 2: Closing link tag 811 #: admin/section/class-convertkit-admin-section-restrict-content.php: 398819 #: admin/section/class-convertkit-admin-section-restrict-content.php:413 812 820 #, php-format 813 821 msgid "Looking for reCAPTCHA settings? They can now be found in the %1$sGeneral settings screen%2$s." … … 1012 1020 #: includes/blocks/class-convertkit-block-content.php:84 1013 1021 #: includes/blocks/class-convertkit-block-form-builder-field-custom.php:71 1014 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 981022 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:107 1015 1023 #: includes/blocks/class-convertkit-block-form-builder-field-name.php:89 1016 1024 #: includes/blocks/class-convertkit-block-form-builder.php:352 … … 1204 1212 1205 1213 #: includes/blocks/class-convertkit-block-form-builder-field-custom.php:74 1206 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:1 011214 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:110 1207 1215 #: includes/blocks/class-convertkit-block-form-builder-field-name.php:92 1208 1216 msgid "Field" … … 1242 1250 msgstr "" 1243 1251 1244 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 681252 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:77 1245 1253 msgid "Kit Form Builder: Email Field" 1246 1254 msgstr "" 1247 1255 1248 #: includes/blocks/class-convertkit-block-form-builder-field-email.php: 941256 #: includes/blocks/class-convertkit-block-form-builder-field-email.php:103 1249 1257 msgid "Adds an email field to the Kit Form Builder." 1250 1258 msgstr "" -
convertkit/trunk/readme.txt
r3423037 r3437320 6 6 Tested up to: 6.9 7 7 Requires PHP: 7.1 8 Stable tag: 3.1. 38 Stable tag: 3.1.4 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 53 53 54 54 With the Form Builder block, you can: 55 55 56 - Add fields such as first name, email address, and custom fields 56 57 - Apply tags and sequences to subscribers for powerful segmentation … … 59 60 60 61 This makes the Form Builder block ideal for: 62 61 63 - Subscription forms to grow your email subscribers list 62 64 - Contact forms that connect directly to Kit … … 141 143 == Frequently asked questions == 142 144 143 = Does this plugin require a paid service? = 144 145 No. You must first have an account on [kit.com](https://kit.com?utm_source=wordpress&utm_term=en_US&utm_content=readme), but you do not have to use a paid plan! 146 147 = How do I refresh my available Forms, Landing Pages and Tags? = 148 149 Either: 150 151 - Navigate to the Plugin's Settings at `Settings > Kit` 152 - Click the refresh button displayed next to the Form, Landing Page or Tag fields when creating/editing Pages or Posts to ensure your latest email newsletter forms are available 153 154 = How do I automatically import Kit Broadcasts to WordPress Posts? = 155 156 To import your past (and future) email newsletters from Kit to WordPress: 157 158 - Navigate to the Plugin's Settings at `Settings > Kit` 159 - Click the `Broadcasts` tab 160 - Tick the `Enable Automatic Import` option 161 - Configure other settings as necessary, and click `Save Changes` when done to streamline your email newsletter publishing 162 163 = Where can I find the Plugin's Documentation? = 164 165 Full Plugin documentation can be found [here](https://help.kit.com/en/articles/2502591-how-to-set-up-the-kit-plugin-on-your-wordpress-website?utm_source=wordpress&utm_content=readme). 145 = Is Kit free for email newsletter creators? = 146 147 Yes! Kit is 100% free for your first 10,000 email subscribers - [sign up today](https://kit.com?utm_source=wordpress&utm_term=en_US&utm_content=readme). This makes it perfect for new newsletter creators, bloggers starting email marketing, and small membership sites. You can grow your email subscribers list, send newsletters, create landing pages, and even sell membership products without paying anything until you exceed 10,000 newsletter subscribers. 148 149 = How do I create newsletter signup forms? = 150 151 Create newsletter subscription forms directly in your Kit account using the visual form builder. Design inline forms, modal popups, slide-in forms, or sticky bars optimized for email subscriber conversion. Once created, the newsletter forms automatically sync with the WordPress plugin and become available for embedding on your site to grow your email subscribers list. 152 153 = Can I create landing pages for email subscriber growth? = 154 155 Yes! Design professional landing pages in Kit's landing page editor, then display them on any WordPress page. Landing pages are optimized specifically for email newsletter signups and subscriber conversion. Choose from pre-built landing page templates or customize your own. The plugin seamlessly integrates Kit landing pages into WordPress for consistent subscriber experience. 156 157 = How does the membership site feature work? = 158 159 The membership feature lets you restrict WordPress content to paying email subscribers or newsletter members. Create Products in Kit, then assign them to specific WordPress pages or posts. When email subscribers visit protected content, they're prompted to enter their email. If they've purchased the required Kit Product, they receive membership access via a magic link. No complex membership plugins needed. 160 161 = Can I segment my email subscribers for targeted newsletters? = 162 163 Absolutely! Kit provides powerful subscriber segmentation using tags. Automatically tag email subscribers based on which newsletter form they used, which links they clicked, or which Kit Products they purchased. Send targeted email newsletters to specific subscriber segments for more relevant email marketing campaigns and higher newsletter engagement rates. 164 165 = Do I need coding knowledge to use this plugin? = 166 167 No coding required! Create newsletter subscription forms, landing pages, and email campaigns using Kit's visual editors. Embed newsletter forms using native WordPress blocks or simple shortcodes. Build membership sites by selecting Products from dropdowns. Even custom newsletter forms in WordPress can be built using the drag-and-drop block editor without touching code. 168 169 = How do I refresh available forms, landing pages, and tags? = 170 171 Click the refresh button next to Form, Landing Page, or Tag dropdowns when editing Pages or Posts. This syncs your latest newsletter forms and products from Kit to WordPress. You can also refresh all resources at once by navigating to Settings > Kit and clicking refresh. This ensures your newest email subscriber capture forms are always available. 172 173 = Can I automatically import email newsletters to WordPress? = 174 175 Yes! Navigate to Settings > Kit > Broadcasts and enable automatic import. Your published email newsletters from Kit will automatically import as WordPress posts. Configure the import schedule, post author, category, and featured image settings. This keeps newsletter subscribers engaged by making your email content discoverable on your site. 176 177 = What integrations work with email subscriber capture? = 178 179 The plugin integrates with Contact Form 7, Gravity Forms, WooCommerce, WishList Member, Elementor, and more. Automatically add form submissions as email subscribers, tag WooCommerce customers for email marketing, sync membership levels with newsletter subscriber tags, and use native Elementor widgets for newsletter forms. Additional integrations available through separate plugins. 180 181 = How do I display newsletter forms in specific locations? = 182 183 You have multiple options for newsletter form placement. Set site-wide defaults that display newsletter signup forms automatically below posts and pages. Override defaults on individual posts to show specific email subscriber forms. Use blocks or shortcodes to embed newsletter forms within content at optimal conversion points. Add widget newsletter forms to sidebars and footers. 184 185 = Can I create free membership content for newsletter subscribers? = 186 187 Yes! You can gate content requiring only email subscription without requiring payment. This is perfect for exclusive newsletter subscriber content, free member communities, or content upgrades. Use Tag-based restrictions where entering an email and receiving membership access via magic link is all that's required. Great for building email subscriber loyalty. 188 189 = Does this work with my WordPress theme? = 190 191 The plugin works with any WordPress theme. Newsletter signup forms and landing pages are designed to adapt to your theme's styling. The Form Builder block uses your theme's CSS ensuring newsletter forms match your site perfectly. Inline forms blend seamlessly into content while modal, slide-in, and sticky bar newsletter forms maintain Kit's polished design. 192 193 = How do I track email subscriber growth and conversions? = 194 195 Track subscriber growth, newsletter form conversion rates, email campaign performance, and landing page analytics directly in your Kit dashboard. Monitor which newsletter forms convert best, which landing pages drive the most email subscribers, and which email newsletters get the highest engagement from your subscriber list. All metrics update in real-time. 196 197 = What's the difference between inline and non-inline newsletter forms? = 198 199 Inline newsletter forms embed directly within page content and scroll with the page. They're great for email subscriber capture within blog posts. Non-inline forms include modals (popups), slide-ins (appear from corners), and sticky bars (fixed to top/bottom). Non-inline newsletter forms demand attention and often achieve higher email subscriber conversion rates. 200 201 = Can I customize newsletter form colors and styling? = 202 203 Yes! Customize newsletter subscription forms in Kit's form editor matching your brand colors, fonts, and style. Adjust form button colors, input field styling, and background colors. For inline forms, the Form Builder block in WordPress uses your theme's styling automatically, ensuring newsletter forms blend seamlessly with your site design. 204 205 = What happens when someone subscribes to my newsletter? = 206 207 When visitors submit newsletter signup forms, they're added as email subscribers to your Kit account. You can configure forms to immediately add subscribers to your newsletter list, tag them for segmentation, or enroll them in automated email sequences. Subscribers receive welcome emails if configured, and you can start sending email newsletters immediately. 208 209 = How do membership magic links work for subscribers? = 210 211 When an email subscriber tries accessing protected membership content, they enter their email address. If they've purchased the required Kit Product or have the necessary tag, they receive an email containing a one-time code and magic link. Clicking the magic link or entering the code grants immediate membership access without requiring passwords. 212 213 = Can I sell digital products through membership features? = 214 215 Yes! Create Products in Kit and sell them directly to your email subscribers. Products can be one-time purchases, subscriptions, or tip jars. Assign Products to WordPress pages and posts as membership content. When newsletter subscribers purchase Products, they automatically get membership access to all associated content in WordPress. 216 217 = Do newsletter forms slow down my site? = 218 219 No. Newsletter subscription forms load asynchronously and are optimized for performance. The plugin only loads necessary assets on pages actually displaying newsletter forms. Landing pages are hosted on Kit's servers ensuring fast load times. The lightweight codebase ensures email subscriber capture doesn't impact your WordPress site speed. 220 221 = How many newsletter forms can I create? = 222 223 There's no limit to the number of newsletter subscription forms you can create in Kit. Design different forms for different audiences, pages, or lead magnets. Create targeted newsletter signup forms for each email subscriber segment. Test variations of forms to optimize conversion. All forms sync automatically with the WordPress plugin. 224 225 = Can I schedule email newsletters to subscribers? = 226 227 Yes! Kit's email marketing platform lets you schedule newsletter campaigns to send at optimal times for your email subscribers. Write newsletters in advance and schedule them for future delivery. Set up recurring newsletters that send automatically on a schedule. Ensure global email subscribers receive newsletters at appropriate times for their timezone. 228 229 = What's the difference between tags and segments for email subscribers? = 230 231 Tags are labels you apply to newsletter subscribers based on interests, behavior, or characteristics. Segments are filtered views of your subscriber list based on one or more tags. Use tags to organize email subscribers, then create segments to send targeted newsletters. For example, tag subscribers as "interested in courses" then create a segment for course email marketing. 232 233 = Can I migrate existing email subscribers to Kit? = 234 235 Yes! Kit provides easy import tools for migrating email subscribers from other platforms. Import CSV files containing subscriber data. The plugin maintains subscriber tags and preferences during migration. You can continue sending newsletters immediately after importing. Kit's migration support team helps with large subscriber list transfers. 236 237 = How do I remove email subscribers from newsletters? = 238 239 Email subscribers can unsubscribe from newsletters using links automatically included in every email campaign per email marketing regulations. You can also manually remove subscribers from Settings > Kit in WordPress or directly in your Kit account. Unsubscribed email addresses are automatically excluded from future newsletter sends. 240 241 = Does this work with WooCommerce for email marketing? = 242 243 Yes! The separate Kit for WooCommerce plugin adds powerful integrations. Automatically subscribe WooCommerce customers to email newsletters at checkout. Tag purchasers for targeted email marketing campaigns. Track purchase data for each newsletter subscriber. Send abandoned cart emails to recover lost sales. Build email subscriber value over time. 244 245 = Can I create multiple membership tiers for subscribers? = 246 247 Yes! Create different Kit Products for each membership tier. Assign Products to different WordPress content. Newsletter subscribers purchase the membership tier they want and automatically get access to corresponding content. Create Bronze, Silver, Gold membership tiers each with different Products and content access for paying email subscribers. 248 249 = How do landing pages improve email subscriber conversions? = 250 251 Landing pages are specifically designed for single conversion goals like email newsletter signups. They remove navigation and distractions, focusing visitors entirely on becoming email subscribers. Use compelling headlines, clear value propositions, social proof, and strong calls-to-action. Kit's landing page templates are proven to convert visitors into newsletter subscribers at high rates. 252 253 = What email marketing automations can I create for subscribers? = 254 255 Create welcome sequences greeting new email subscribers with your best content. Build product launch funnels promoting offers to newsletter segments. Set up abandoned cart sequences for WooCommerce email marketing. Create re-engagement campaigns for inactive newsletter subscribers. Configure behavioral automations tagging email subscribers based on email clicks and website activity. 256 257 = Can I embed past email newsletters on my WordPress site? = 258 259 Yes! Use the Broadcasts block or `[convertkit_broadcasts]` shortcode to display past email newsletters on any page or post. This keeps newsletter content discoverable for website visitors, drives email subscriber signups from engaged readers, and extends the life of newsletter content beyond inboxes. 260 261 = How do I optimize newsletter forms for mobile email subscribers? = 262 263 All newsletter subscription forms and landing pages are automatically mobile-responsive. Forms resize and reorganize for small screens ensuring easy email subscriber signup on phones and tablets. Test newsletter forms on mobile devices to verify the email subscriber experience. The Form Builder block uses responsive WordPress patterns for perfect mobile newsletter conversion. 264 265 = What's the best strategy for growing email subscribers? = 266 267 Use multiple newsletter form types strategically. Place inline newsletter forms within valuable blog posts where visitors are most engaged. Add exit-intent modal newsletter forms to capture abandoning visitors as email subscribers. Include sticky bar newsletter forms for persistent visibility. Create dedicated landing pages for lead magnets. Test and optimize all newsletter forms for maximum email subscriber growth. 268 269 = Can I use newsletter forms with page builders? = 270 271 Yes! The plugin includes integrations with popular page builders. Use native Elementor widgets for newsletter forms and email subscriber content. Divi modules available for newsletter integration. All page builders support the shortcode method for email subscriber forms. The WordPress block editor provides native blocks for newsletter capture. 272 273 = How do I create a newsletter lead magnet funnel? = 274 275 Create a compelling lead magnet (ebook, checklist, course) that solves a specific problem for your target email subscribers. Design a dedicated landing page promoting the lead magnet optimized for newsletter signups. Create a newsletter subscription form offering the lead magnet in exchange for email addresses. Set up an automated email sequence delivering the lead magnet and nurturing new newsletter subscribers. 276 277 = What is the Form Builder block for email newsletter forms? = 278 279 The Form Builder block is a native WordPress block that lets you create custom email newsletter subscription forms directly in the WordPress editor without any coding. Unlike embedding pre-designed forms from Kit, the Form Builder block gives you complete control to design newsletter signup forms that perfectly match your WordPress theme's styling and branding for optimal email subscriber conversion. 280 281 = How does the Form Builder block differ from regular newsletter forms? = 282 283 Regular newsletter forms are designed in Kit and embedded in WordPress. The Form Builder block lets you build email subscription forms entirely within WordPress using the block editor. Form Builder newsletter forms automatically inherit your theme's typography, colors, and spacing. You can customize every aspect including form fields, button styling, colors, spacing, and layout while maintaining your site's design consistency for email subscribers. 284 285 = Can I customize Form Builder newsletter forms to match my brand? = 286 287 Yes! The Form Builder block provides extensive customization options for email newsletter forms. Adjust typography including font families, sizes, and weights. Customize colors for form fields, buttons, labels, and backgrounds. Control spacing with margin and padding settings. Add custom CSS classes for advanced styling. Form Builder newsletter forms adapt to your WordPress theme while allowing granular control over email subscriber form appearance. 288 289 = What fields can I add to Form Builder newsletter subscription forms? = 290 291 The Form Builder block supports multiple field types for email newsletter signups. Add email address fields (required), first name fields, last name fields, and custom fields you've created in Kit. All fields can be marked as required or optional. This flexibility lets you collect exactly the email subscriber information you need while keeping newsletter forms simple and conversion-focused. 292 293 = Does the Form Builder block work with Kit tags and sequences? = 294 295 Absolutely! When building newsletter subscription forms with the Form Builder block, you can assign Kit tags to segment email subscribers automatically. Subscribe new email addresses to specific Kit sequences to trigger automated email marketing campaigns. Configure reCAPTCHA protection if enabled in your Kit account. Form Builder newsletter forms have full integration with Kit's email subscriber management features. 296 297 = How do I add a Form Builder newsletter form to my WordPress site? = 298 299 In the WordPress block editor, click the plus icon to add a new block and search for "Kit Form Builder." Add the block to your page or post. Configure your email newsletter form by adding fields like email and first name. Customize the styling, colors, and spacing to match your theme. Optionally assign tags or sequences for email subscriber segmentation. Publish to start capturing email subscribers with your custom newsletter form. 300 301 = Can Form Builder newsletter forms collect custom subscriber data? = 302 303 Yes! The Form Builder block supports custom fields you've created in your Kit account. Add custom fields to collect specific information from email newsletter subscribers like job titles, company names, interests, or any data relevant to your email marketing strategy. Custom field data syncs to Kit automatically, enabling advanced email subscriber segmentation and personalized newsletter campaigns. 304 305 = Are Form Builder newsletter forms mobile responsive? = 306 307 All Form Builder newsletter subscription forms are automatically mobile responsive. Forms adapt to screen sizes ensuring email subscribers can easily sign up on phones and tablets. The Form Builder block uses responsive WordPress patterns and follows your theme's mobile styling. Test newsletter forms on multiple devices to verify the optimal email subscriber experience across all screen sizes. 308 309 = Can I use the Form Builder block for contact forms and email subscribers? = 310 311 Yes! The Form Builder block works as both a newsletter subscription form and a contact form. Collect email addresses and additional information from visitors. When someone submits a Form Builder form, they're automatically added as email subscribers to your Kit account and can be tagged or added to sequences. This makes Form Builder perfect for dual-purpose forms capturing both contacts and newsletter subscribers. 312 313 = Does the Form Builder block support spam protection for newsletter signups? = 314 315 Yes! The Form Builder block integrates with Google reCAPTCHA v3 if configured in your Kit account at Settings > Kit > General. This protects your email newsletter forms from bot submissions and fake email subscribers. reCAPTCHA runs invisibly in the background, ensuring legitimate newsletter subscribers have a smooth signup experience while blocking spam from polluting your email list. 316 317 = How does the Form Builder block handle newsletter form styling? = 318 319 The Form Builder block uses your WordPress theme's CSS by default, ensuring newsletter subscription forms match your site design automatically. You can then customize individual elements including button colors, input field borders, label typography, and spacing. The block provides intuitive controls in the WordPress editor sidebar letting you style email newsletter forms visually without touching code while maintaining theme consistency. 320 321 = Can I view Form Builder newsletter form submissions in WordPress? = 322 323 Yes! Navigate to Settings > Kit > Form Entries to view all submissions from Form Builder newsletter forms. Search entries by email address, filter by submission date or API result, and export subscriber data as CSV files. This gives you a WordPress-based view of email newsletter signups alongside Kit's subscriber management, perfect for tracking email subscriber acquisition and form performance. 324 325 = Where can I find complete plugin documentation? = 326 327 Comprehensive documentation is available at: [Kit WordPress Plugin Setup Guide](https://help.kit.com/en/articles/2502591-how-to-set-up-the-kit-plugin-on-your-wordpress-website?utm_source=wordpress&utm_content=readme) 328 329 The documentation covers newsletter form setup, landing page configuration, membership site creation, email marketing automation, subscriber segmentation, and all plugin features for growing your email newsletter. 166 330 167 331 == Screenshots == 168 332 169 1. Create and customize stunning email subscription forms and landing pages in Kit170 2. Manage the WordPress plugin from a simple settings page in the WordPress admin171 3. A ppend Kit forms to Pages, Posts or other Custom Post Types to grow your email subscribers172 4. Configure a specific Kit form to display on a specific Page or Post173 5. Display your Kit forms anywhere on your WordPress web site using the form block / shortcode174 6. Configure a Kit landing page to be used in place of a WordPress Page, to capture email subscribers175 7. Automatically import your past email newsletters to WordPress Posts176 8. Create your paid membership site by assigning paid Kit Products to your existing WordPress content177 9. Set up form a nd landing page automations in Kit178 10. Track subscriber growth and email newsletter performance333 1. Create stunning email newsletter subscription forms and landing pages in Kit's visual editor optimized for email subscriber conversion 334 2. Simple WordPress plugin settings page to manage email newsletter forms, landing pages, and membership features for subscribers 335 3. Automatically append newsletter signup forms to Posts, Pages, or Custom Post Types to capture email subscribers site-wide 336 4. Configure specific email newsletter forms on individual Pages and Posts for targeted subscriber growth and email marketing 337 5. Display newsletter subscription forms anywhere using blocks or shortcodes to maximize email subscriber capture opportunities 338 6. Replace WordPress pages with Kit landing pages optimized specifically for email newsletter subscriber acquisition 339 7. Automatically import published email newsletters from Kit to WordPress Posts keeping subscribers engaged with searchable newsletter content 340 8. Build paid membership sites by assigning Kit Products to WordPress content accessible only to paying email subscribers 341 9. Set up form automations and email marketing sequences in Kit to nurture newsletter subscribers and drive conversions 342 10. Track email subscriber growth, newsletter performance, landing page conversions, and membership site analytics in real-time 179 343 180 344 == Changelog == 345 346 ### 3.1.4 2026-01-12 347 * Added: Settings: Member Content: Container CSS Class setting 348 * Added: Member Content: Automatically add `grve-container` CSS class for Impeka Theme 349 * Fix: Form Builder: Set email field type=email 350 * Fix: Blocks: Use Spinner when ProgressBar component unavailable in WordPress versions older than 6.3 351 * Updated: Blocks: Use apiVersion 2 181 352 182 353 ### 3.1.3 2025-12-18 -
convertkit/trunk/resources/backend/css/gutenberg.css
r3423037 r3437320 37 37 right: 20px; 38 38 line-height: 22px; 39 width: auto; 39 40 } 40 41 41 .wp-block .convertkit-no-content .convertkit-progress-bar { 42 .wp-block .convertkit-no-content .convertkit-progress-bar, 43 .wp-block .convertkit-no-content .spinner { 44 float: none; 42 45 margin: 0 auto; 43 46 } -
convertkit/trunk/resources/backend/js/gutenberg.js
r3423037 r3437320 42 42 const el = element.createElement; 43 43 const { registerBlockType } = blocks; 44 const { InspectorControls, InnerBlocks } = editor;45 const { Fragment,useState } = element;44 const { InspectorControls, InnerBlocks, useBlockProps } = editor; 45 const { useState } = element; 46 46 const { 47 47 Button, … … 365 365 * @return {Object} Block settings sidebar elements. 366 366 */ 367 const editBlock = function (props) { 367 const EditBlock = function (props) { 368 const blockProps = useBlockProps(); 369 370 // Refresh button disabled state on DisplayNoticeWithLink. 371 // This must be here to avoid React error on hook order change when the user e.g. 372 // connects their Kit account from within the block itself. 373 const [buttonDisabled, setButtonDisabled] = useState(false); 374 368 375 // If requesting an example of how this block looks (which is requested 369 376 // when the user adds a new block and hovers over this block's icon), 370 377 // show the preview image. 371 378 if (props.attributes.is_gutenberg_example === true) { 372 return (373 Fragment,374 {},379 return el( 380 'div', 381 blockProps, 375 382 el('img', { 376 383 src: block.gutenberg_example_image, … … 382 389 // for this block, show a message in the block to tell the user what to do. 383 390 if (!block.has_access_token || !block.has_resources) { 384 return DisplayNoticeWithLink(props); 391 return DisplayNoticeWithLink( 392 props, 393 blockProps, 394 buttonDisabled, 395 setButtonDisabled 396 ); 385 397 } 386 398 … … 402 414 props 403 415 ); 404 return editBlockWithPanelsAndPreview(panels, preview); 416 return editBlockWithPanelsAndPreview( 417 panels, 418 preview, 419 blockProps 420 ); 405 421 } 406 422 … … 417 433 block.gutenberg_help_description 418 434 ); 419 return editBlockWithPanelsAndPreview(panels, preview); 435 return editBlockWithPanelsAndPreview( 436 panels, 437 preview, 438 blockProps 439 ); 420 440 } 421 441 … … 444 464 }) 445 465 ); 446 return editBlockWithPanelsAndPreview(panels, preview); 466 return editBlockWithPanelsAndPreview( 467 panels, 468 preview, 469 blockProps 470 ); 447 471 } 448 472 … … 456 480 className: 'convertkit-ssr-' + block.name, 457 481 }); 458 return editBlockWithPanelsAndPreview(panels, preview );482 return editBlockWithPanelsAndPreview(panels, preview, blockProps); 459 483 }; 460 484 … … 465 489 * @since 3.0.0 466 490 * 467 * @param {Object} panels Block panels. 468 * @param {Object} preview Block preview. 469 * @return {Object} Block settings sidebar elements. 470 */ 471 const editBlockWithPanelsAndPreview = function (panels, preview) { 472 return el( 473 // Sidebar Panel with Fields. 474 Fragment, 475 {}, 491 * @param {Object} panels Block panels. 492 * @param {Object} preview Block preview. 493 * @param {Object} blockProps Block properties. 494 * @return {Object} Block settings sidebar elements. 495 */ 496 const editBlockWithPanelsAndPreview = function ( 497 panels, 498 preview, 499 blockProps 500 ) { 501 return el('div', blockProps, [ 476 502 el(InspectorControls, {}, panels), 477 // Block Preview. 478 preview 479 ); 503 preview, 504 ]); 480 505 }; 481 506 … … 489 514 const saveBlock = function () { 490 515 if (typeof block.gutenberg_template !== 'undefined') { 491 return el('div', {}, el(InnerBlocks.Content)); 516 // Use useBlockProps.save() to preserve styling classes and attributes 517 // from block supports (colors, typography, spacing, etc.) 518 const blockProps = useBlockProps.save(); 519 return el('div', blockProps, el(InnerBlocks.Content)); 492 520 } 493 521 … … 505 533 * @since 2.2.5 506 534 * 507 * @param {Object} props Block properties. 508 * @return {Object} Notice. 509 */ 510 const DisplayNoticeWithLink = function (props) { 511 // useState to toggle the refresh button's disabled state. 512 const [buttonDisabled, setButtonDisabled] = useState(false); 513 535 * @param {Object} props Block properties. 536 * @param {Object} blockProps Block properties. 537 * @param {boolean} buttonDisabled Whether the refresh button is disabled (true) or enabled (false) 538 * @param {Function} setButtonDisabled Function to enable or disable the refresh button. 539 * @return {Object} Notice. 540 */ 541 const DisplayNoticeWithLink = function ( 542 props, 543 blockProps, 544 buttonDisabled, 545 setButtonDisabled 546 ) { 514 547 // Holds the array of elements to display in the notice component. 515 548 let elements; … … 542 575 return el( 543 576 'div', 544 { 545 // convertkit-no-content class allows resources/backend/css/gutenberg.css 546 // to apply styling/branding to the block. 547 className: 548 'convertkit-' + block.name + ' convertkit-no-content', 549 }, 550 elements 577 blockProps, 578 el( 579 'div', 580 { 581 // convertkit-no-content class allows resources/backend/css/gutenberg.css 582 // to apply styling/branding to the block. 583 className: 584 'convertkit-' + 585 block.name + 586 ' convertkit-no-content', 587 }, 588 elements 589 ) 551 590 ); 552 591 }; … … 561 600 */ 562 601 const loadingIndicator = function (props) { 602 // If the ProgressBar component is not available i.e. WordPress < 6.3, return a spinner. 603 if (typeof ProgressBar === 'undefined') { 604 return el('span', { 605 key: props.clientId + '-spinner', 606 className: 'spinner is-active convertkit-block-refreshing', 607 }); 608 } 609 563 610 return el(ProgressBar, { 564 611 key: props.clientId + '-progress-bar', 565 className: 'convertkit-progress-bar', 612 className: 613 'convertkit-progress-bar convertkit-block-refreshing', 566 614 }); 567 615 }; … … 852 900 853 901 // Editor. 854 edit: editBlock,902 edit: EditBlock, 855 903 856 904 // Output. -
convertkit/trunk/wp-convertkit.php
r3423037 r3437320 10 10 * Plugin URI: https://kit.com/ 11 11 * Description: Display Kit (formerly ConvertKit) email subscription forms, landing pages, products, broadcasts and more. 12 * Version: 3.1. 312 * Version: 3.1.4 13 13 * Author: Kit 14 14 * Author URI: https://kit.com/ … … 28 28 define( 'CONVERTKIT_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); 29 29 define( 'CONVERTKIT_PLUGIN_PATH', __DIR__ ); 30 define( 'CONVERTKIT_PLUGIN_VERSION', '3.1. 3' );30 define( 'CONVERTKIT_PLUGIN_VERSION', '3.1.4' ); 31 31 define( 'CONVERTKIT_OAUTH_CLIENT_ID', 'HXZlOCj-K5r0ufuWCtyoyo3f688VmMAYSsKg1eGvw0Y' ); 32 32 define( 'CONVERTKIT_OAUTH_CLIENT_REDIRECT_URI', 'https://app.kit.com/wordpress/redirect' ); … … 146 146 require_once CONVERTKIT_PLUGIN_PATH . '/includes/integrations/forminator/class-convertkit-forminator-settings.php'; 147 147 148 // Impeka Integration. 149 require_once CONVERTKIT_PLUGIN_PATH . '/includes/integrations/class-convertkit-impeka.php'; 150 148 151 // Uncode Integration. 149 152 require_once CONVERTKIT_PLUGIN_PATH . '/includes/integrations/class-convertkit-uncode.php';
Note: See TracChangeset
for help on using the changeset viewer.