{"id":346845,"date":"2026-08-10T21:57:48","date_gmt":"2026-08-10T21:57:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ganziq\/"},"modified":"2026-08-10T21:57:38","modified_gmt":"2026-08-10T21:57:38","slug":"ganziq","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ganziq\/","author":23539327,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.12","stable_tag":"1.4.12","tested":"7.0.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Ganziq","header_author":"Ahmed Salem","header_description":"Inspect, validate, edit, preview, import and export Elementor JSON in a safe workspace without changing the original page.","assets_banners_color":"fbfbfe","last_updated":"2026-08-10 21:57:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.12":{"tag":"1.4.12","author":"ahmedebnsalem","date":"2026-08-10 21:57:38"}},"upgrade_notice":{"1.3.0":"<p>Restores the original Ganziq workspace while separating direct page-writing features into the optional Ganziq Pro add-on.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3641304,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3641304,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3641304,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3641304,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.12"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3641304,"resolution":"1","location":"assets","locale":"","width":1651,"height":899},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3641304,"resolution":"2","location":"assets","locale":"","width":871,"height":983},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3641304,"resolution":"3","location":"assets","locale":"","width":1036,"height":874}},"screenshots":{"1":"The original Ganziq source workspace and document overview.","2":"JSON validation, formatting and temporary preview controls.","3":"Browser-side workspace import and export cards.","4":"Non-intrusive Ganziq Pro information dialog for direct page-saving features."}},"plugin_section":[],"plugin_tags":[4932,76538,34796,1118,2475],"plugin_category":[],"plugin_contributors":[275084],"plugin_business_model":[],"class_list":["post-346845","plugin","type-plugin","status-publish","hentry","plugin_tags-developer-tools","plugin_tags-elementor","plugin_tags-inspector","plugin_tags-json","plugin_tags-preview","plugin_contributors-ahmedebnsalem","plugin_committers-ahmedebnsalem"],"banners":{"banner":"https:\/\/ps.w.org\/ganziq\/assets\/banner-772x250.png?rev=3641304","banner_2x":"https:\/\/ps.w.org\/ganziq\/assets\/banner-1544x500.png?rev=3641304","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ganziq\/assets\/icon-128x128.png?rev=3641304","icon_2x":"https:\/\/ps.w.org\/ganziq\/assets\/icon-256x256.png?rev=3641304","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ganziq\/assets\/screenshot-1.png?rev=3641304","caption":"The original Ganziq source workspace and document overview."},{"src":"https:\/\/ps.w.org\/ganziq\/assets\/screenshot-2.png?rev=3641304","caption":"JSON validation, formatting and temporary preview controls."},{"src":"https:\/\/ps.w.org\/ganziq\/assets\/screenshot-3.png?rev=3641304","caption":"Browser-side workspace import and export cards."}],"raw_content":"<!--section=description-->\n<p>Ganziq provides a focused developer workspace for Elementor document JSON while keeping the original page unchanged.<\/p>\n\n<p>Free features:<\/p>\n\n<ul>\n<li>Open supported Elementor page source in the original Ganziq editor interface.<\/li>\n<li>Edit and format JSON inside a local workspace.<\/li>\n<li>Validate JSON syntax and Elementor root structure.<\/li>\n<li>Generate an isolated, signed preview of workspace changes without creating an Elementor autosave.<\/li>\n<li>Import a JSON or TXT file into the workspace without applying it to the page.<\/li>\n<li>Export the current workspace JSON, including unsaved edits.<\/li>\n<li>Review source size, document status, environment details and existing Ganziq restore-point metadata.<\/li>\n<li>Run lightweight, on-demand JSON analysis for element counts, widget usage, containers, hierarchy depth and duplicate IDs.<\/li>\n<li>Use fullscreen editing, conflict warnings, post-lock warnings and Arabic\/English interface support.<\/li>\n<\/ul>\n\n<p>The free plugin does not write workspace edits back to the original Elementor page. Direct Save Draft, Publish, Update, page import and restore actions are provided by a separate Ganziq Pro add-on distributed from the developer's website. Premium controls shown in the interface are informational and the premium implementation is not included in this plugin.<\/p>\n\n<p>The free plugin maintains the local restore-point table, displays existing restore-point metadata, and can migrate compatible restore points created by earlier Ganziq releases. Only Ganziq Pro creates a new restore point after the user explicitly clicks Create restore point, and it performs restoration. Direct saves, publishing and imports do not create restore points automatically.<\/p>\n\n<p>Ganziq makes no background requests to external services. Clicking the optional \"Get Ganziq Pro\" button opens the product website in a new browser tab.<\/p>\n\n<p>Ganziq is an independent third-party product and is not affiliated with, endorsed by, or sponsored by Elementor.<\/p>\n\n<p>The visual assets bundled in <code>assets\/images\/<\/code> were generated specifically for Ganziq using OpenAI's ChatGPT image-generation tools. To the extent that copyright or related rights apply, they are distributed with the plugin under GPLv2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Elementor.<\/li>\n<li>Upload and activate Ganziq.<\/li>\n<li>Open Ganziq from the WordPress administration menu.<\/li>\n<li>Select a supported Elementor page or enter its post ID.<\/li>\n<li>Edit, validate, preview, import or export JSON from the workspace.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20free%20plugin%20change%20my%20elementor%20page%3F\"><h3>Does the free plugin change my Elementor page?<\/h3><\/dt>\n<dd><p>No. Workspace edits are not applied to the original page. Preview data is injected only for a short-lived, signed preview request. It does not create an Elementor autosave or revision and cannot appear later in the Elementor editor.<\/p><\/dd>\n<dt id=\"can%20i%20export%20edited%20json%3F\"><h3>Can I export edited JSON?<\/h3><\/dt>\n<dd><p>Yes. The Export Workspace action downloads the JSON currently shown in the editor.<\/p><\/dd>\n<dt id=\"what%20does%20ganziq%20pro%20add%3F\"><h3>What does Ganziq Pro add?<\/h3><\/dt>\n<dd><p>Ganziq Pro is a separate add-on that provides direct Save Draft, Publish, Update, page import, manually created restore points and restore actions.<\/p><\/dd>\n<dt id=\"does%20ganziq%20send%20data%20to%20an%20external%20server%3F\"><h3>Does Ganziq send data to an external server?<\/h3><\/dt>\n<dd><p>No. The free plugin makes no automatic external requests. The optional Pro information button only opens the developer's public website when you click it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.12<\/h4>\n\n<ul>\n<li>Replaced directly printed admin menu and admin bar CSS with WordPress-enqueued stylesheet assets.<\/li>\n<li>Removed bundled translation files so WordPress.org language packs can manage translations.<\/li>\n<li>No editor, preview, backup or Elementor data behavior was changed.<\/li>\n<\/ul>\n\n<h4>1.4.11<\/h4>\n\n<ul>\n<li>Confirmed the public plugin name is Ganziq in both the plugin header and readme.<\/li>\n<li>Corrected Tested up to to the required major-version format: 7.0.<\/li>\n<li>No functional plugin behavior was changed.<\/li>\n<\/ul>\n\n<h4>1.4.10<\/h4>\n\n<ul>\n<li>Clarified that the bundled Ganziq visual assets were generated specifically using OpenAI's ChatGPT image-generation tools.<\/li>\n<li>Documented that the bundled visual assets are distributed with the plugin under GPLv2 or later, to the extent applicable.<\/li>\n<li>No functional plugin behavior was changed.<\/li>\n<\/ul>\n\n<h4>1.4.9<\/h4>\n\n<ul>\n<li>Updated the WordPress.org contributor username to ahmedebnsalem.<\/li>\n<li>Documented the licensing of the original AI-generated Ganziq visual assets.<\/li>\n<li>No functional plugin behavior was changed.<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>Simplified the public plugin display name to Ganziq.<\/li>\n<li>Aligned the plugin header, WordPress.org readme title, slug folder and text domain.<\/li>\n<li>No editor, Elementor integration, Free\/Pro or restore-point behavior was changed.<\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>Replaced the dynamic SQL IN clause used for restore-point pruning with typed single-row deletes.<\/li>\n<li>Removed the final prepared-SQL error and related placeholder warnings reported by Plugin Check.<\/li>\n<li>Scoped custom-table cleanup and privacy updates with explicit WordPress Coding Standards annotations.<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li>Removed all pre-Ganziq product-name references and cross-product migration code from the WordPress.org build.<\/li>\n<li>Kept migration support only for restore points created by earlier Ganziq releases.<\/li>\n<li>Fixed the remaining prepared-SQL issue in restore-point pruning by using integer placeholders for every backup ID.<\/li>\n<li>No other plugin settings, tables, metadata or activation state are read, changed or removed.<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li>Fixed all translation placeholder errors reported by Plugin Check.<\/li>\n<li>Removed the no-longer-needed manual translation loader for WordPress.org language packs.<\/li>\n<li>Improved request handling for read-only admin parameters and preview JSON validation.<\/li>\n<li>Hardened and documented direct database access used by the local restore-point store and legacy migrations.<\/li>\n<li>Matched the plugin header name to the readme and corrected the Tested up to format.<\/li>\n<li>Removed cache-control constants flagged for using non-prefixed global names while retaining explicit no-cache preview headers.<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Changed restore-point creation to an explicit manual action.<\/li>\n<li>Added a Create restore point Premium button to the restore-point card.<\/li>\n<li>Direct saves, publishing and imports no longer describe or request automatic restore-point creation.<\/li>\n<li>Added a small Core\/Pro action bridge for the separate Pro add-on to handle the manual backup button.<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Ganziq no longer deactivates Elementor, Elementor Pro, older builds, or any other plugin during activation.<\/li>\n<li>Removed all compatibility code and branding references associated with pre-Ganziq product names from the WordPress.org build.<\/li>\n<li>Page deletion and plugin uninstall cleanup now affect Ganziq-owned data only.<\/li>\n<li>Elementor compatibility notices are dismissible and limited to Ganziq and Plugins screens.<\/li>\n<li>Clarified that restore-point storage is shared infrastructure while creation and restoration remain Ganziq Pro features.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Moved temporary previews to a private internal post status.<\/li>\n<li>Prevented preview documents from appearing in Elementor activity and WordPress content lists.<\/li>\n<li>Improved cleanup of temporary previews and Core\/Pro saved-state synchronization.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Added a clear leave-workspace warning before opening Elementor or the WordPress editor when free workspace changes exist.<\/li>\n<li>Added a Pro integration bridge so a licensed add-on can autosave the current workspace before switching editors.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Security: preview data is now served through an isolated signed session and is never written to an autosave or revision.<\/li>\n<li>Prevented workspace JSON from appearing in Elementor or the WordPress editor after previewing.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added a compact JSON analysis panel directly below the Preview and Premium save controls.<\/li>\n<li>Analysis runs only when requested and uses a browser Web Worker to keep the editor responsive.<\/li>\n<li>Added element, widget, container, section\/column, depth, duplicate-ID, workspace-size and top-widget metrics.<\/li>\n<li>Analysis results are marked stale after workspace edits instead of being recalculated automatically.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Restored the original Ganziq interface and editor behaviour.<\/li>\n<li>Kept validation, formatting, fullscreen editing, temporary preview, conflict warnings and environment information.<\/li>\n<li>Changed import to load JSON into the browser workspace without writing to the page.<\/li>\n<li>Changed export to download the current workspace, including edits.<\/li>\n<li>Removed license checks, activation pages and external API calls from the WordPress.org build.<\/li>\n<li>Removed direct page save, publish, update, import and restore implementations from the WordPress.org build.<\/li>\n<li>Added restrained Premium labels and an informational Ganziq Pro dialog.<\/li>\n<li>Replaced preview autosaves with isolated, signed preview sessions so workspace changes cannot leak into Elementor or WordPress editors.<\/li>\n<\/ul>","raw_excerpt":"Inspect, edit, validate, preview, import and export Elementor JSON in a safe workspace without replacing the original page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346845","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=346845"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ahmedebnsalem"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346845"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346845"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346845"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346845"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346845"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}