=== SheetFusion - Sync Google Sheets Into Tables. No Row Limits, No API Keys. === Contributors: isomite Tags: google sheets, table, data table, spreadsheet, gutenberg Requires at least: 5.8 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 2.2.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Create responsive WordPress tables from public Google Sheets with saved settings, visual themes, shortcodes, and a block. == Description == SheetFusion turns public Google Sheets into modern WordPress tables without API keys, OAuth, visitor tracking, or telemetry. Version 2.2.0 adds a saved-table builder and visualizer so site owners can create a table once, choose the look and behavior, preview it, and embed it anywhere with a short shortcode or the SheetFusion Table block. **Highlights** * Saved table builder with per-table settings * Admin-only visualizer for colors, themes, density, and responsive behavior * Gutenberg block and shortcode support * Backward-compatible direct sheet embeds * Search, sorting, pagination, result info, row menu, CSV/Excel/PDF/Print export buttons, and column visibility * Responsive modes: horizontal scroll, stacked rows, and mobile cards * Smart link columns and image thumbnail columns * Optional sticky header, max-height table scrolling, and async loading * Server-side row filtering by column * Transient caching with admin refresh and cache clear controls * No row-count paywall; only a configurable safety cap to protect server memory * No telemetry and no external frontend CDN requests **How it works** SheetFusion fetches CSV data from Google's public export endpoint. Your sheet must be published to the web. Private sheets are not supported because SheetFusion intentionally avoids API keys and OAuth. **External Services** This plugin connects to: * **Google Sheets** (`docs.google.com`) - your WordPress server fetches public CSV data for the Sheet ID and tab name you provide. SheetFusion does not collect, store, or transmit personal visitor data to SheetFusion servers. Visitors' browsers do not request bundled table libraries from external CDNs. **Bundled Libraries** The following libraries are bundled locally: * DataTables 1.13.8 - MIT * DataTables Buttons 2.4.2 - MIT * JSZip 3.10.1 - MIT == Installation == 1. Install and activate SheetFusion. 2. Publish your Google Sheet to the web: File > Share > Publish to the web. 3. Go to SheetFusion > Tables. 4. Create a table with your Sheet ID and tab name. 5. Customize the visual theme and controls. 6. Copy the saved-table shortcode or insert the SheetFusion Table block. == Frequently Asked Questions == = Does SheetFusion require an API key? = No. It uses the public CSV export endpoint for sheets published to the web. = Does SheetFusion support private sheets? = No. Private sheets require OAuth or API credentials, which SheetFusion intentionally avoids. = Does SheetFusion limit rows like a freemium plugin? = No. There is no row-count paywall. There is a configurable safety cap to protect site memory and browser performance on very large sheets. = Can I still use my old shortcodes? = Yes. Existing shortcodes such as `[sheetfusion id="SHEET_ID" sheet="Sheet1"]` continue to work. = What is the recommended saved-table shortcode? = Use a saved table: `[sheetfusion table="123"]`. = Can I customize colors? = Yes. WordPress administrators can use the table visualizer to choose presets and custom colors for each saved table. = Does SheetFusion collect telemetry? = No. SheetFusion does not include Appsero-style telemetry or phone-home tracking. == Shortcode Reference == Recommended: `[sheetfusion table="123"]` Legacy direct embed: `[sheetfusion id="SHEET_ID" sheet="Sheet1"]` Common attributes: * `theme` - clean, stripe, minimal, dark, editorial, compact * `density` - comfortable, compact, spacious * `responsive` - scroll, stack, cards * `page_length` - rows per page * `order_column` - 1-based default sort column * `order_dir` - asc or desc * `search`, `pagination`, `info`, `length_menu` - true or false * `filter_column`, `filter_value`, `filter_mode` - server-side row filtering * `link_columns` - comma-separated URL columns * `image_columns` - comma-separated image URL columns * `export` - csv, excel, pdf, print. PDF opens a browser print/save-to-PDF view without bundling a large PDF library. * `col_visibility` - true or false * `height` - optional max height in pixels * `sticky_header` - true or false * `async` - true or false * `refresh` - administrators can set `refresh="1"` to bypass cache once == Changelog == = 2.2.0 - 2026-05-07 = * Added database-backed saved tables. * Added admin table builder with visual theme customizer and preview. * Added saved-table shortcode format: `[sheetfusion table="123"]`. * Preserved existing direct Sheet ID shortcodes. * Added six themes, custom colors, density controls, responsive modes, cache controls, and local vendor assets. * Added image columns, improved link columns, sticky header, max-height scrolling, and async loading. * Added CSV, Excel, PDF, and print export controls plus column visibility. * Rewrote readme and help content for accuracy. = 2.1.2 - 2026-04-27 = * Switched Google Sheets fetch from the Visualization API endpoint to the plain CSV export endpoint. == Upgrade Notice == = 2.2.0 = Adds saved tables, visual customization, and richer frontend controls while preserving existing shortcodes.