{"id":323394,"date":"2026-06-11T03:53:14","date_gmt":"2026-06-11T03:53:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wstech-visual-table-builder\/"},"modified":"2026-06-11T03:38:01","modified_gmt":"2026-06-11T03:38:01","slug":"wstech-visual-table-builder","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/wstech-visual-table-builder\/","author":18778508,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"trunk","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"WSTech Visual Table Builder","header_author":"Web Solution Technologies","header_description":"Professional visual table builder for WordPress with drag-and-drop editing, merge cells, templates, import\/export, shortcodes, and responsive data tables.","assets_banners_color":"f6f7fa","last_updated":"2026-06-11 03:38:01","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/wstech.in\/donate","header_plugin_uri":"https:\/\/github.com\/shivmaikhuri12\/wstech-visual-table-builder","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"2.0.0":"<p>Major release. Adds reusable tables, shortcodes, admin management, and universal builder compatibility.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3568466,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3568466,"resolution":"256x256","location":"assets","locale":"","width":1254,"height":1254}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3568466,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3568466,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"vtb\/table-builder":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"vtb\/table-builder","version":"2.0.0","title":"Visual Table Builder","category":"common","icon":"editor-table","description":"Create beautiful, professional tables with MS Word\/Excel-style features \u2014 themes, sorting, filtering, pagination, CSV export, and full cell formatting.","keywords":["table","excel","word","grid","data","vtb","wstech"],"textdomain":"wstech-visual-table-builder","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","viewScript":"file:.\/view.js","supports":{"html":false,"align":["wide","full"],"color":false,"spacing":false},"attributes":{"tableData":{"type":"array","default":[]},"caption":{"type":"string","default":""},"hasHeaderRow":{"type":"boolean","default":true},"hasFooterRow":{"type":"boolean","default":false},"theme":{"type":"string","default":"default"},"borderColor":{"type":"string","default":"#dee2e6"},"borderWidth":{"type":"number","default":1},"borderStyle":{"type":"string","default":"solid"},"tableWidth":{"type":"string","default":"100%"},"responsive":{"type":"string","default":"scroll"},"sortable":{"type":"boolean","default":false},"searchable":{"type":"boolean","default":false},"pagination":{"type":"boolean","default":false},"pageSize":{"type":"number","default":10},"frontendCsvExport":{"type":"boolean","default":false},"firstColumnHeader":{"type":"boolean","default":false},"hoverHighlight":{"type":"boolean","default":true},"tableId":{"type":"number","default":0}}}},"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3568466,"resolution":"1","location":"assets","locale":"","width":1672,"height":941},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3568466,"resolution":"2","location":"assets","locale":"","width":1672,"height":941},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3568466,"resolution":"3","location":"assets","locale":"","width":1672,"height":941},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3568466,"resolution":"4","location":"assets","locale":"","width":1672,"height":941},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3568466,"resolution":"5","location":"assets","locale":"","width":1672,"height":941},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3568466,"resolution":"6","location":"assets","locale":"","width":1672,"height":941}},"screenshots":{"1":"The Visual Table Builder block in the Gutenberg editor","2":"WSTech Tables admin management screen","3":"Template picker with 10 built-in templates","4":"CSV\/JSON Import modal","5":"Frontend table with sorting, search, pagination","6":"Shortcode embedding in Elementor"}},"plugin_section":[],"plugin_tags":[148076,19196,80,2289,148936],"plugin_category":[43],"plugin_contributors":[266610],"plugin_business_model":[],"class_list":["post-323394","plugin","type-plugin","status-publish","hentry","plugin_tags-gutenberg","plugin_tags-responsive-table","plugin_tags-shortcode","plugin_tags-table","plugin_tags-table-builder","plugin_category-customization","plugin_contributors-shivmaikhuri","plugin_committers-shivmaikhuri"],"banners":{"banner":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/banner-772x250.png?rev=3568466","banner_2x":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/banner-1544x500.png?rev=3568466","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/icon-128x128.png?rev=3568466","icon_2x":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/icon-256x256.png?rev=3568466","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/screenshot-1.png?rev=3568466","caption":"The Visual Table Builder block in the Gutenberg editor"},{"src":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/screenshot-2.png?rev=3568466","caption":"WSTech Tables admin management screen"},{"src":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/screenshot-3.png?rev=3568466","caption":"Template picker with 10 built-in templates"},{"src":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/screenshot-4.png?rev=3568466","caption":"CSV\/JSON Import modal"},{"src":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/screenshot-5.png?rev=3568466","caption":"Frontend table with sorting, search, pagination"},{"src":"https:\/\/ps.w.org\/wstech-visual-table-builder\/assets\/screenshot-6.png?rev=3568466","caption":"Shortcode embedding in Elementor"}],"raw_content":"<!--section=description-->\n<p><strong>WSTech Visual Table Builder<\/strong> is a powerful Gutenberg block plugin that brings MS Word\/Excel-style table creation directly into WordPress \u2014 no coding required. Create reusable tables, manage them centrally, and embed them anywhere via shortcodes.<\/p>\n\n<h4>\u2728 Key Features<\/h4>\n\n<p><strong>Reusable Table Management<\/strong>\n* Dedicated \"WSTech Tables\" admin screen \u2014 create, edit, duplicate, delete\n* Each table gets a unique shortcode: <code>[wstech_table id=\"123\"]<\/code>\n* Embed tables in Gutenberg, Elementor, Divi, Beaver Builder, Classic Editor, or PHP templates\n* Slug-based shortcodes supported: <code>[wstech_table slug=\"pricing-table\"]<\/code>\n* WordPress revisions for table version history<\/p>\n\n<p><strong>Editor Experience<\/strong>\n* Click-to-edit cells with full rich text (bold, italic, underline, strikethrough, links)\n* Per-cell formatting: background colour, text colour, alignment, vertical align, padding\n* Tab\/Shift+Tab keyboard navigation \u2014 auto-adds rows at the end\n* Right-click context menu for quick row\/column operations\n* Drag &amp; drop row and column reordering\n* Undo \/ Redo via WordPress native history (Ctrl+Z \/ Ctrl+Y)<\/p>\n\n<p><strong>Table Structure<\/strong>\n* Header row (thead), footer row (tfoot), first-column headers\n* Merge cells (colspan + rowspan) \u2014 Shift+click to multi-select, then merge\n* Unmerge any merged cell with one click\n* Duplicate rows and columns\n* Insert\/delete rows and columns (above\/below\/before\/after)\n* Optional table caption<\/p>\n\n<p><strong>10 Built-in Templates<\/strong>\n* Blank 4\u00d74, Employee Directory, Pricing Table, Product Comparison\n* Invoice\/Bill, Class Timetable, Sports Standings, Project Tracker\n* Budget Tracker, Nutrition Facts<\/p>\n\n<p><strong>6 Premium Themes<\/strong>\n* Default (Indigo), Striped (Sky Blue), Bordered (Slate), Dark, Minimal, Colorful<\/p>\n\n<p><strong>Data Import \/ Export<\/strong>\n* Export CSV (always available in editor)\n* Export JSON (.vtb.json) \u2014 full table backup including styles and settings\n* Import CSV \u2014 file upload or paste, auto-detects delimiter\n* Import JSON \u2014 restore a previously exported .vtb.json\n* Frontend CSV Export button (opt-in per table)<\/p>\n\n<p><strong>Frontend Interactivity (instant, no page reloads)<\/strong>\n* Column sorting (ASC\/DESC, numeric + date-aware)\n* Live search \/ row filter\n* Pagination with configurable page size\n* Hover row highlight<\/p>\n\n<p><strong>Responsive Design<\/strong>\n* Horizontal scroll mode (default)\n* Stack on Mobile mode \u2014 each row becomes a vertical card with column labels<\/p>\n\n<p><strong>Universal Compatibility<\/strong>\n* Gutenberg Block Editor (native)\n* Elementor (Shortcode Widget)\n* Divi (Code Module)\n* Beaver Builder\n* Classic Editor\n* PHP templates: <code>&lt;?php echo do_shortcode('[wstech_table id=\"123\"]'); ?&gt;<\/code><\/p>\n\n<p><strong>Privacy \/ External Services<\/strong>\n* The plugin does not send table data to external services.\n* Links to the plugin website and donation page are ordinary admin\/readme links only.<\/p>\n\n<p><strong>Source Code and Build<\/strong>\n* Public source repository: https:\/\/github.com\/shivmaikhuri12\/wstech-visual-table-builder\n* Editable block source files are in the <code>src\/<\/code> directory.\n* Compiled block assets are generated into the <code>build\/<\/code> directory by <code>@wordpress\/scripts<\/code>.\n* Build tools and development dependencies are declared in <code>package.json<\/code>.\n* To rebuild the production assets from source, run:<\/p>\n\n<pre><code>npm install\nnpm run build\n<\/code><\/pre>\n\n<p><strong>Uninstall<\/strong>\n* Uninstalling the plugin through WordPress removes WSTech Tables created by the plugin and their associated post meta.<\/p>\n\n<h4>\ud83d\udd27 How to Use<\/h4>\n\n<p><strong>Method 1: Reusable Tables (Recommended)<\/strong>\n1. Go to <strong>WSTech Tables \u2192 Add New<\/strong> in the admin\n2. Name your table and design it using the visual editor\n3. Click <strong>Publish<\/strong>\n4. Copy the shortcode from the sidebar: <code>[wstech_table id=\"123\"]<\/code>\n5. Paste the shortcode anywhere \u2014 pages, posts, Elementor, Divi, etc.<\/p>\n\n<p><strong>Method 2: Inline Tables (Quick)<\/strong>\n1. In any post\/page, click <strong>+ Add Block<\/strong> and search for \"Visual Table Builder\"\n2. Design your table directly in the post\n3. Save the post \u2014 your table is live!<\/p>\n\n<h3>Developer Notes<\/h3>\n\n<p><strong>Data Model:<\/strong> Tables are stored as JSON in post meta (<code>_wstech_table_data<\/code>) with a <code>version<\/code> field for future migration support.<\/p>\n\n<p><strong>Rendering:<\/strong> A shared PHP renderer (<code>WSTech_Table_Renderer<\/code>) generates frontend HTML for both Gutenberg blocks (via <code>render_callback<\/code>) and shortcodes.<\/p>\n\n<p><strong>Block Name:<\/strong> The Gutenberg block namespace is <code>vtb\/table-builder<\/code> (stable, will not change).<\/p>\n\n<p><strong>Building from source:<\/strong>\n    <code>cd wp-content\/plugins\/wstech-visual-table-builder\nnpm install\nnpm run build<\/code><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>wstech-visual-table-builder<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu<\/li>\n<li>Go to <strong>WSTech Tables \u2192 Add New<\/strong> to create your first reusable table<\/li>\n<li>Or add the <strong>Visual Table Builder<\/strong> block directly in any post\/page<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20embed%20a%20table%20in%20elementor%3F\"><h3>How do I embed a table in Elementor?<\/h3><\/dt>\n<dd><p>Create a table in WSTech Tables \u2192 Add New, publish it, copy the shortcode, then paste it into an <strong>Elementor Shortcode Widget<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20same%20table%20on%20multiple%20pages%3F\"><h3>Can I use the same table on multiple pages?<\/h3><\/dt>\n<dd><p>Yes! Create the table once in WSTech Tables, then paste the same shortcode on as many pages as you want. Editing the table updates it everywhere.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20classic%20editor%3F\"><h3>Does it work with Classic Editor?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode <code>[wstech_table id=\"123\"]<\/code> in the Classic Editor text area.<\/p><\/dd>\n<dt id=\"can%20i%20import%20data%20from%20excel%3F\"><h3>Can I import data from Excel?<\/h3><\/dt>\n<dd><p>Yes. Export your Excel data as CSV, then use the <strong>Import CSV<\/strong> button in the block toolbar.<\/p><\/dd>\n<dt id=\"how%20does%20sorting%20work%3F\"><h3>How does sorting work?<\/h3><\/dt>\n<dd><p>When you enable <strong>Sortable Columns<\/strong> in the sidebar, visitors can click any column header to sort. Sorting is numeric-aware and works entirely client-side.<\/p><\/dd>\n<dt id=\"can%20i%20merge%20cells%3F\"><h3>Can I merge cells?<\/h3><\/dt>\n<dd><p>Yes. Shift+click to select a rectangular range, then click <strong>Merge Cells<\/strong> in the format bar.<\/p><\/dd>\n<dt id=\"where%20is%20the%20source%20code%20for%20the%20compiled%20block%20assets%3F\"><h3>Where is the source code for the compiled block assets?<\/h3><\/dt>\n<dd><p>The public source repository is https:\/\/github.com\/shivmaikhuri12\/wstech-visual-table-builder. Editable files are in <code>src\/<\/code>, compiled files are in <code>build\/<\/code>, and the production build can be regenerated with <code>npm install<\/code> followed by <code>npm run build<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>NEW: Reusable Table Management via Custom Post Type<\/li>\n<li>NEW: Shortcode support <code>[wstech_table id=\"123\"]<\/code> and <code>[wstech_table slug=\"name\"]<\/code><\/li>\n<li>NEW: WSTech Tables admin screen (list, create, edit, duplicate, delete)<\/li>\n<li>NEW: Shared PHP rendering engine (server-side rendering)<\/li>\n<li>NEW: Dynamic block rendering via render_callback<\/li>\n<li>NEW: WordPress revisions support for table version history<\/li>\n<li>NEW: Sidebar meta box with copy-to-clipboard shortcode<\/li>\n<li>NEW: Plugin action links (Manage Tables, Add New)<\/li>\n<li>NEW: Elementor \/ Divi \/ Classic Editor support via shortcodes<\/li>\n<li>NEW: Merge cells (Shift+click multi-select + colspan\/rowspan)<\/li>\n<li>NEW: Drag &amp; Drop row and column reordering<\/li>\n<li>NEW: 10 built-in templates with animated modal picker<\/li>\n<li>NEW: CSV Import, JSON Import\/Export<\/li>\n<li>NEW: Duplicate Row\/Column<\/li>\n<li>NEW: Undo \/ Redo toolbar buttons<\/li>\n<li>NEW: Right-click context menu<\/li>\n<li>IMPROVED: Responsive Stack mode with column labels on mobile<\/li>\n<li>IMPROVED: Future-proof cell data model with meta field<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Gutenberg block with WYSIWYG cell editing<\/li>\n<li>6 premium themes, cell formatting, sorting, search, pagination<\/li>\n<li>CSV export, responsive modes<\/li>\n<\/ul>","raw_excerpt":"A professional WordPress table builder with drag-and-drop editing, merge cells, templates, CSV\/JSON import, shortcodes, and reusable table management.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/323394","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=323394"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shivmaikhuri"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=323394"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=323394"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=323394"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=323394"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=323394"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=323394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}