{"id":133046,"date":"2020-12-10T11:41:33","date_gmt":"2020-12-10T11:41:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/zu-contact\/"},"modified":"2022-01-11T16:30:49","modified_gmt":"2022-01-11T16:30:49","slug":"zu-contact","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zu-contact\/","author":18425835,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.5","stable_tag":"1.1.5","tested":"5.8.13","requires":"5.3.0","requires_php":"7.2.0","requires_plugins":"","header_name":"Zu Contact","header_author":"Dmitry Rudakov","header_description":"Simple but smart Ajax contact forms. With Gutenberg based settings page.","assets_banners_color":"beded8","last_updated":"2022-01-11 16:30:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/zu-contact\/","header_author_uri":"https:\/\/dmitryrudakov.com\/about\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1463,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.8-wp":{"tag":"1.0.8-wp","author":"dmitryrudakov","date":"2020-12-10 11:41:17"},"1.1.0":{"tag":"1.1.0","author":"dmitryrudakov","date":"2021-01-08 16:40:34"},"1.1.2":{"tag":"1.1.2","author":"dmitryrudakov","date":"2021-04-14 17:27:17"},"1.1.3":{"tag":"1.1.3","author":"dmitryrudakov","date":"2021-05-03 18:52:41"},"1.1.5":{"tag":"1.1.5","author":"dmitryrudakov","date":"2022-01-11 16:30:49"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2436470,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2436470,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":2436470,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2436470,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2436470,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.8-wp","1.1.0","1.1.2","1.1.3","1.1.5"],"block_files":[],"assets_screenshots":{"screenshot-01.jpg":{"filename":"screenshot-01.jpg","revision":2436470,"resolution":"1","location":"assets","locale":""},"screenshot-02.jpg":{"filename":"screenshot-02.jpg","revision":2436470,"resolution":"2","location":"assets","locale":""},"screenshot-03.jpg":{"filename":"screenshot-03.jpg","revision":2452727,"resolution":"3","location":"assets","locale":""},"screenshot-04.jpg":{"filename":"screenshot-04.jpg","revision":2452727,"resolution":"4","location":"assets","locale":""},"screenshot-05.jpg":{"filename":"screenshot-05.jpg","revision":2452727,"resolution":"5","location":"assets","locale":""},"screenshot-06.jpg":{"filename":"screenshot-06.jpg","revision":2452727,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Plugin Settings Page","2":"Google reCAPTCHA Settings Section","3":"Editing form fields in the Gutenberg block editor","4":"Editing form attributes in the Gutenberg block editor","5":"Contact Form Displaying","6":"Another Contact Form Displaying (Russian)"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[221,358,267,108,148076],"plugin_category":[41,42],"plugin_contributors":[193971],"plugin_business_model":[],"class_list":["post-133046","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax","plugin_tags-contact-form","plugin_tags-email","plugin_tags-feedback","plugin_tags-gutenberg","plugin_category-communication","plugin_category-contact-forms","plugin_contributors-dmitryrudakov","plugin_committers-dmitryrudakov"],"banners":{"banner":"https:\/\/ps.w.org\/zu-contact\/assets\/banner-772x250.png?rev=2436470","banner_2x":"https:\/\/ps.w.org\/zu-contact\/assets\/banner-1544x500.png?rev=2436470","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/zu-contact\/assets\/icon.svg?rev=2436470","icon":"https:\/\/ps.w.org\/zu-contact\/assets\/icon.svg?rev=2436470","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zu-contact\/assets\/screenshot-01.jpg?rev=2436470","caption":"Plugin Settings Page"},{"src":"https:\/\/ps.w.org\/zu-contact\/assets\/screenshot-02.jpg?rev=2436470","caption":"Google reCAPTCHA Settings Section"},{"src":"https:\/\/ps.w.org\/zu-contact\/assets\/screenshot-03.jpg?rev=2452727","caption":"Editing form fields in the Gutenberg block editor"},{"src":"https:\/\/ps.w.org\/zu-contact\/assets\/screenshot-04.jpg?rev=2452727","caption":"Editing form attributes in the Gutenberg block editor"},{"src":"https:\/\/ps.w.org\/zu-contact\/assets\/screenshot-05.jpg?rev=2452727","caption":"Contact Form Displaying"},{"src":"https:\/\/ps.w.org\/zu-contact\/assets\/screenshot-06.jpg?rev=2452727","caption":"Another Contact Form Displaying (Russian)"}],"raw_content":"<!--section=description-->\n<p>The plugin allows you to add a feedback form or booking form to the page. The data is sent to the server via AJAX (<em>this can be disabled using the settings and the form will be submitted as usual, with a page reload... but why do you need it?<\/em>). You can flexibly personalize the form and its fields.<\/p>\n\n<p>The form is added to a page using the <strong>Gutenberg Custom Blocks<\/strong> - with these blocks, the possibilities for customizing your form are greatly increased.<\/p>\n\n<p>You can also add a form to a page using the shortcode <code>[zu-contact]<\/code> or <code>[zu-booking]<\/code>.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Lightweight <code>JS script<\/code> &amp; <code>CSS<\/code> (only <strong>4 KB<\/strong> minified and gzipped)<\/li>\n<li>Includes form blocks for the new <strong>Gutenberg<\/strong> WordPress block editor<\/li>\n<li>Also supports adding a contact form to any post or page using a shortcode<\/li>\n<li>Form submission via AJAX (<em>configurable by settings<\/em>)<\/li>\n<li>Data validation on the server<\/li>\n<li>Support for required fields<\/li>\n<li>Responsive layout<\/li>\n<li>Notification of submissions to default admin or custom email addresses<\/li>\n<li>Send a <code>carbon copy<\/code> of the submitted message (<em>configurable by settings<\/em>)<\/li>\n<li>Basic <code>SMTP<\/code> (<em>Simple Mail Transfer Protocol<\/em>) configuration<\/li>\n<li>Protect submissions from spam with Google <code>reCAPTCHA<\/code> (<em>configurable by settings<\/em>)<\/li>\n<li>Automatically checks all submissions against global database of spam (with <a href=\"https:\/\/wordpress.org\/plugins\/akismet\/\">Akismet<\/a>)<\/li>\n<li>Save messages to the database as comments to a post or page<\/li>\n<li>Compatible with the latest version of WordPress<\/li>\n<\/ul>\n\n<h3>Gutenberg blocks<\/h3>\n\n<p>With custom blocks for Gutenberg WordPress editor you can easily create new contact forms and customize them with great flexibility:<\/p>\n\n<ul>\n<li>You can create a form based on templates or from scratch<\/li>\n<li>Add and remove form fields<\/li>\n<li>Change the position of fields, their type and other attributes<\/li>\n<li>Change field labels, placeholders and validation error messages<\/li>\n<li>Add to verification form using Google <code>reCAPTCHA<\/code><\/li>\n<li>Change the animation of the form loader (used during form submission)<\/li>\n<\/ul>\n\n<h3>Shortcode attributes<\/h3>\n\n<p>You can also personalize the form by adding attributes to the shortcode:<\/p>\n\n<ul>\n<li><strong>class<\/strong> - Change CSS class of form: <code>class=\"my-contact-form\"<\/code><\/li>\n<li><strong>form<\/strong> - Select one of preloaded forms: <code>form=\"contact\"<\/code><\/li>\n<li><strong>subheading<\/strong> - Change form subheading: <code>subheading=\"My Contact Form\"<\/code><\/li>\n<li><strong>ajax<\/strong> - Disable form submission via AJAX: <code>ajax=false<\/code><\/li>\n<li><strong>recaptcha<\/strong> - Disable Google reCAPTCHA widget: <code>recaptcha=false<\/code><\/li>\n<li><strong>rows<\/strong> - Change rows amount in textarea: <code>rows=12<\/code><\/li>\n<li><strong>message<\/strong> - Set predefined form message: <code>message=\"Thanks for your hard work!\"<\/code><\/li>\n<\/ul>\n\n<h4>Examples<\/h4>\n\n<ul>\n<li><p>With custom subheading and without reCAPTCHA:<\/p>\n\n<p>[zu-contact subheading=\"My Contact Form\" recaptcha=false]<\/p><\/li>\n<li><p>With custom class, without AJAX and with 8 rows in textarea:<\/p>\n\n<p>[zu-contact class=\"my-contact-form\" ajax=false rows=8]<\/p><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>zu-contact<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin using the <code>Plugins<\/code> menu in your WordPress admin panel.<\/li>\n<li>You can adjust the necessary settings using your WordPress admin panel in \"Settings &gt; Zu Contact\".<\/li>\n<li>Create a page or a post and insert the shortcode <code>[zu-contact]<\/code> or <code>[zu-booking]<\/code> into the text.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h3>1.1.5<\/h3>\n\n<ul>\n<li>tested for compatibility with WP 5.8.3<\/li>\n<li>moved <code>contact fields<\/code> classes to a separate folder<\/li>\n<li>moved traits files to a separate folder<\/li>\n<li><strong>Zukit<\/strong> updated to version 1.4.8<\/li>\n<li>fixed bug with <code>getColor<\/code> method<\/li>\n<li>removed <code>keepPlaceholderOnFocus<\/code> because the prop has been removed from <code>RichText<\/code> component<\/li>\n<li>fixed bug with <code>shortcode_atts_with_cast<\/code> snippet<\/li>\n<li>other small improvements<\/li>\n<\/ul>\n\n<h3>1.1.3<\/h3>\n\n<ul>\n<li><strong>Zukit<\/strong> updated to version 1.2.2<\/li>\n<li>according to the changes in <strong>Zukit<\/strong>, rows in <code>Plugin Info<\/code> are now hidden through the value equal to null<\/li>\n<li>min <code>php<\/code> and <code>wp<\/code> versions updated<\/li>\n<li>replace <code>log_error<\/code> with <code>logc<\/code> method<\/li>\n<\/ul>\n\n<h3>1.1.2<\/h3>\n\n<ul>\n<li><strong>Zukit<\/strong> updated to <code>1.2.0<\/code><\/li>\n<li>adapted after changing the position of the divider<\/li>\n<li>adapted to the latest changes in Zukit<\/li>\n<li>improved CSS to be compatible with WP 5.6<\/li>\n<li>fixed bug that occurred when changing the field type<\/li>\n<li>new screenshots added<\/li>\n<li>changed default loader from <code>none<\/code> to 0<\/li>\n<li>README updated<\/li>\n<\/ul>\n\n<h3>1.1.0<\/h3>\n\n<ul>\n<li>added <code>zu_ContactFieldDefaults<\/code> class to keep all default values for templates<\/li>\n<li>added new forms based on default field values<\/li>\n<li>created <code>zu\/form<\/code> and <code>zu\/field<\/code> \u0421ustom Blocks<\/li>\n<li>added <code>reCAPTCHA<\/code> support and created <code>zu\/recaptcha<\/code> Custom Block<\/li>\n<li>added store to support Ajax created forms<\/li>\n<li>added form <code>Loader<\/code><\/li>\n<li>added focus control for editing components<\/li>\n<li>added concept of <code>dirty<\/code> forms to avoid unnecessary updates<\/li>\n<li>added examples to all Custom Blocks<\/li>\n<li>fixed bug with <code>default<\/code> template<\/li>\n<li>fixed bug which occurs after <code>recaptcha<\/code> expired<\/li>\n<li>moved error messages to <code>jsdata<\/code> (more language independent)<\/li>\n<li><strong>Zukit<\/strong> updated<\/li>\n<li>updated SVG for icons<\/li>\n<li>improved front-end JS and CSS<\/li>\n<li>many other small improvements<\/li>\n<\/ul>\n\n<h3>1.0.9<\/h3>\n\n<ul>\n<li>intermediate version for testing the latest changes<\/li>\n<\/ul>\n\n<h3>1.0.8<\/h3>\n\n<ul>\n<li>added assets for WordPress.org<\/li>\n<\/ul>\n\n<h3>1.0.6<\/h3>\n\n<ul>\n<li>all fields are sanitized before processing<\/li>\n<li>scroll in view before AJAX call<\/li>\n<li><strong>Zukit<\/strong> updated<\/li>\n<li>bug fixing and css improvements<\/li>\n<\/ul>\n\n<h3>1.0.5<\/h3>\n\n<ul>\n<li>refactoring CSS to support different themes<\/li>\n<li>added <code>scroll in view<\/code> functionality<\/li>\n<li>used SVG files for icons<\/li>\n<li>added skip for <code>heartbeat<\/code> and <code>cron<\/code><\/li>\n<li>some changes for wordpress.org<\/li>\n<li>small improvements<\/li>\n<\/ul>\n\n<h3>1.0.4<\/h3>\n\n<ul>\n<li>implemented compatibility check (for PHP and WordPress)<\/li>\n<li>improved archive ignore options<\/li>\n<\/ul>\n\n<h3>1.0.2<\/h3>\n\n<ul>\n<li>implemented <code>Test Mail<\/code> action<\/li>\n<li>refactoring <code>stats<\/code><\/li>\n<li>refactoring test data usage<\/li>\n<li>added translations and appearance<\/li>\n<li>added plugin banner and screenshots<\/li>\n<li>added README<\/li>\n<li>bug fixing and css improvements<\/li>\n<\/ul>\n\n<h3>1.0.0<\/h3>\n\n<ul>\n<li>adapted to <code>shortcode_atts_with_cast<\/code> snippet<\/li>\n<li>added support for Google <code>reCAPTCHA<\/code><\/li>\n<li>added <code>ZucontactRecaptcha<\/code> panel to manage <code>reCAPTCHA Settings<\/code><\/li>\n<li>added <code>ZucontactMailer<\/code> panel to manage <code>Mail Server Settings<\/code><\/li>\n<li>added support for SMTP error processing<\/li>\n<li>added <code>Debug SMTP mailer<\/code> option<\/li>\n<li>refactoring error processing<\/li>\n<li><strong>Zukit<\/strong> updated<\/li>\n<li>improved contact form messages<\/li>\n<li>added <code>zucontact<\/code> admin css<\/li>\n<li>cleaning and bug fixing<\/li>\n<\/ul>\n\n<h3>0.9.9<\/h3>\n\n<ul>\n<li>refactoring front-end JS<\/li>\n<li>improved error message handling<\/li>\n<li>split <code>ajax<\/code> and <code>mailer<\/code> traits<\/li>\n<li>support of <code>ajax<\/code> shortcode param<\/li>\n<li>moving <code>css_prefix<\/code> to static property<\/li>\n<li>updated to use new <code>extend...<\/code> methods<\/li>\n<li><strong>Zukit<\/strong> updated<\/li>\n<li>adapted to latest changes in <strong>Zukit<\/strong><\/li>\n<li>bug fixing and css improvements<\/li>\n<\/ul>\n\n<h3>0.9.8<\/h3>\n\n<ul>\n<li>added admin JS to render settings page<\/li>\n<li>included <code>Zukit<\/code> framework<\/li>\n<li>renaming and refactoring before adapting to <code>Zukit<\/code><\/li>\n<li>small improvements<\/li>\n<\/ul>\n\n<h3>0.9.7<\/h3>\n\n<ul>\n<li>refactoring after adaptation for <code>Zukit<\/code> (not finished)<\/li>\n<\/ul>\n\n<h3>0.9.3<\/h3>\n\n<ul>\n<li>all forms now are added to DB as comments<\/li>\n<\/ul>\n\n<h3>0.9.1<\/h3>\n\n<ul>\n<li>bug fixing<\/li>\n<li>updated language dictionaries<\/li>\n<li>added <code>append_field()<\/code> method to <code>cplus_Form<\/code> class<\/li>\n<li>added <code>carbon_copy<\/code> attribute to <code>cplus_Form<\/code> class<\/li>\n<li>added <code>get_success_message()<\/code>method to <code>Contact_Plus<\/code> class<\/li>\n<li>processed <code>post_id<\/code> from posting page<\/li>\n<li>added <code>rows<\/code> attribute to shortcode<\/li>\n<li>added <code>me_or_us<\/code> option to select between predefined headings and messages<\/li>\n<li>improved  js error processing<\/li>\n<\/ul>","raw_excerpt":"Simple but smart and modern Ajax contact form. With Form Blocks and Gutenberg based settings page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/133046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=133046"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dmitryrudakov"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=133046"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=133046"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=133046"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=133046"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=133046"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=133046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}