{"id":372854,"date":"2026-09-22T11:49:48","date_gmt":"2026-09-22T11:49:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/drag-drop-editor-for-contact-form-7\/"},"modified":"2026-09-23T11:18:34","modified_gmt":"2026-09-23T11:18:34","slug":"canvasly-for-contact-form-7","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/canvasly-for-contact-form-7\/","author":23570887,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.5","stable_tag":"0.2.5","tested":"7.1.2","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Canvasly for Contact Form 7","header_author":"Maximilian Leistner","header_description":"Drag-and-drop visual field editor for Contact Form 7 \u2014 adds a \"Visual Builder\" tab to the form editor that reads and writes CF7's native tag syntax directly, so the raw \"Form\" tab keeps working as a fallback.","assets_banners_color":"9fc0da","last_updated":"2026-09-23 11:18:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/canvasly-for-contact-form-7\/","header_author_uri":"https:\/\/profiles.wordpress.org\/fuxdev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":99,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.4":{"tag":"0.2.4","author":"fuxdev","date":"2026-09-22 11:49:29","revision":3707221},"0.2.5":{"tag":"0.2.5","author":"fuxdev","date":"2026-09-23 11:18:34","revision":3709168}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3707221,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3707221,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3707221,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3707221,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.4","0.2.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3707221,"resolution":"1","location":"assets","locale":"","width":2560,"height":1760},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3707221,"resolution":"2","location":"assets","locale":"","width":2560,"height":2000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3707221,"resolution":"3","location":"assets","locale":"","width":2560,"height":1660},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3707221,"resolution":"4","location":"assets","locale":"","width":2560,"height":1760}},"screenshots":{"1":"The Visual Builder tab: every field is a live preview card you can drag; headings of your form become editable cards too.","2":"Editing a field \u2014 label, required, option list, and whether the field is part of the email you receive. Technical settings hide under \"Advanced\".","3":"Adding fields: templates plus all supported form-tags, grouped.","4":"Front-end preview of the unsaved form with your theme's styles (desktop \/ mobile)."}},"plugin_section":[],"plugin_tags":[5445,358,1152,3938,2253],"plugin_category":[42],"plugin_contributors":[282035],"plugin_business_model":[],"class_list":["post-372854","plugin","type-plugin","status-publish","hentry","plugin_tags-cf7","plugin_tags-contact-form","plugin_tags-contact-form-7","plugin_tags-drag-and-drop","plugin_tags-form-builder","plugin_category-contact-forms","plugin_contributors-fuxdev","plugin_committers-fuxdev"],"banners":{"banner":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/banner-772x250.png?rev=3707221","banner_2x":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/banner-1544x500.png?rev=3707221","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/icon-128x128.png?rev=3707221","icon_2x":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/icon-256x256.png?rev=3707221","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/screenshot-1.png?rev=3707221","caption":"Der Visual-Builder-Tab: Jedes Feld ist eine Live-Vorschaukarte, die du ziehen kannst; auch \u00dcberschriften deines Formulars werden zu bearbeitbaren Karten."},{"src":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/screenshot-2.png?rev=3707221","caption":"Ein Feld bearbeiten \u2014 Beschriftung, Pflichtfeld, Optionsliste und ob das Feld Teil der E-Mail ist, die du erh\u00e4ltst. Technische Einstellungen verstecken sich unter \u201eErweitert\u201c."},{"src":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/screenshot-3.png?rev=3707221","caption":"Felder hinzuf\u00fcgen: Vorlagen sowie alle unterst\u00fctzten Formular-Tags, gruppiert."},{"src":"https:\/\/ps.w.org\/canvasly-for-contact-form-7\/assets\/screenshot-4.png?rev=3707221","caption":"Frontend-Vorschau des ungespeicherten Formulars mit den Styles deines Themes (Desktop \/ Mobil)."}],"raw_content":"<!--section=description-->\n<p>Canvasly is a visual form builder for Contact Form 7. Instead of typing form-tags such as <code>[text* your-name]<\/code>, you add fields with a click, arrange them by drag and drop, and edit labels, options and required fields in a live preview. It all happens in a new <strong>Visual Builder<\/strong> tab inside the Contact Form 7 editor, next to the existing \"Form\" tab.<\/p>\n\n<p>It does not replace anything in Contact Form 7. The Visual Builder reads the form template, lets you edit it, and writes the same native syntax back into the \"Form\" tab. Saving, mail, validation and spam protection stay 100% Contact Form 7. Both tabs always show the same form, and anything the builder does not understand is kept exactly as it was.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Live preview card for every field \u2014 click it to edit label, required state, default\/placeholder, options and more<\/li>\n<li>Drag and drop to reorder; a field moves together with its own <code>&lt;label&gt;<\/code> or layout wrapper (for example <code>&lt;div class=\"half-width\"&gt;<\/code>)<\/li>\n<li>Layout choice per field when your form uses wrapper classes such as half\/full width<\/li>\n<li>Option list editor for dropdowns, checkboxes and radio buttons<\/li>\n<li>Headings, paragraphs and divider lines of your template become editable cards; pure layout markup stays out of the way<\/li>\n<li>Field templates (contact form, callback request)<\/li>\n<li>Email check: see whether a field is part of the email you receive, add it with one click, and get warned before a removed or renamed field breaks the mail template<\/li>\n<li>Undo \/ redo<\/li>\n<li>Front-end preview with your theme's styles (desktop and mobile width), without saving<\/li>\n<li>Technical settings (field name, id, class, raw options, surrounding HTML) are available under \"Advanced\"<\/li>\n<li>Translation-ready; German included (Du and Sie, plus Austrian and Swiss variants)<\/li>\n<\/ul>\n\n<p>Supported form-tags: text, email, tel, url, textarea, number, date, select, checkbox, radio, acceptance, quiz, file, submit. Other tags (from add-ons, for example) are preserved untouched.<\/p>\n\n<p>This plugin is an independent add-on and is not affiliated with or endorsed by the Contact Form 7 project.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Contact Form 7.<\/li>\n<li>Install and activate this plugin.<\/li>\n<li>Go to Contact \u2192 Contact Forms, open a form and switch to the \"Visual Builder\" tab.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20change%20how%20my%20forms%20are%20stored%3F\"><h3>Does it change how my forms are stored?<\/h3><\/dt>\n<dd><p>No. The form is still the plain Contact Form 7 form template. You can deactivate this plugin at any time and nothing changes.<\/p><\/dd>\n<dt id=\"will%20it%20break%20my%20hand-written%20form%3F\"><h3>Will it break my hand-written form?<\/h3><\/dt>\n<dd><p>Fields you do not edit are written back byte-for-byte. Markup the builder does not recognise is shown as an \"HTML block\" and left alone.<\/p><\/dd>\n<dt id=\"does%20it%20support%20conditional%20fields%20or%20multi-step%20forms%3F\"><h3>Does it support conditional fields or multi-step forms?<\/h3><\/dt>\n<dd><p>No. Contact Form 7 has no native syntax for those; tags added by other add-ons are preserved but not edited visually.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20contact%20external%20servers%3F\"><h3>Does the plugin contact external servers?<\/h3><\/dt>\n<dd><p>No.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>Plugin URI and Author URI headers, so the author name links to a profile like other plugins<\/li>\n<li>\"Getting Started\" and \"Leave a Review\" links on the plugin's row on the Plugins screen<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Renamed to \"Canvasly for Contact Form 7\" per WordPress.org plugin review feedback (distinctive name, trademark only after \"for\")<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Translations are loaded by WordPress itself (no manual text domain loading)<\/li>\n<li>German variants: formal, Austria, Switzerland<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Fields move together with their label \/ layout wrapper; layout choice per field<\/li>\n<li>Undo\/redo, front-end preview, field templates, option list editor, email checks<\/li>\n<li>Placeholder toggle<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Drag and drop form builder for Contact Form 7: build and edit CF7 forms visually with a live preview, without writing form-tags by hand.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/372854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=372854"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/fuxdev"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=372854"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=372854"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=372854"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=372854"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=372854"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=372854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}