{"id":230034,"date":"2025-05-03T05:34:55","date_gmt":"2025-05-03T05:34:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/structure-viewer\/"},"modified":"2026-05-21T00:47:05","modified_gmt":"2026-05-21T00:47:05","slug":"structure-viewer","status":"publish","type":"plugin","link":"https:\/\/sah.wordpress.org\/plugins\/structure-viewer\/","author":23180843,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.2","stable_tag":"2.2.2","tested":"7.0","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Structure Viewer \u2013 File Explorer & AI Context Builder","header_author":"Blincks","header_description":"Displays the file and folder structure of installed WordPress plugins and themes. Developed by Blincks.","assets_banners_color":"0d1425","last_updated":"2026-05-21 00:47:05","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/blincks","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/structure-viewer","header_author_uri":"https:\/\/www.blincks.com","rating":5,"author_block_rating":0,"active_installs":10,"downloads":1074,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"blincks","date":"2025-05-03 05:34:25"},"1.1":{"tag":"1.1","author":"blincks","date":"2025-05-07 11:43:22"},"1.2":{"tag":"1.2","author":"blincks","date":"2025-07-19 10:59:20"},"2.0":{"tag":"2.0","author":"blincks","date":"2025-12-04 18:51:21"},"2.1":{"tag":"2.1","author":"blincks","date":"2026-03-21 05:44:35"},"2.1.1":{"tag":"2.1.1","author":"blincks","date":"2026-03-23 05:49:05"},"2.2.0":{"tag":"2.2.0","author":"blincks","date":"2026-04-28 10:42:11"},"2.2.1":{"tag":"2.2.1","author":"blincks","date":"2026-05-09 17:52:22"},"2.2.2":{"tag":"2.2.2","author":"blincks","date":"2026-05-21 00:47:05"}},"upgrade_notice":{"2.2.2":"<p>Auto-redact secrets when viewing or downloading files, search function improvements, and UI enhancement.<\/p>","2.2.1":"<p>Quick dark\/light mode toggle from the plugin header, improved search results UI, and refined tab and dashboard styling.<\/p>","2.2.0":"<p>Major release: Redesigned dashboard, complete UI overhaul, and multiple bug fixes. Pro features added.<\/p>","2.1.1":"<p>Fixes the Copy Structure button in Safari.<\/p>","2.1":"<p>Adds individual file downloads and PDF export. Drop-in replacement.<\/p>","2.0":"<p>Major update \u2014 full UI rebuild. Backward compatible.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3515825,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3515825,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3515825,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3515825,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.2","2.0","2.1","2.1.1","2.2.0","2.2.1","2.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3536631,"resolution":"1","location":"assets","locale":"","width":2400,"height":2009},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3536631,"resolution":"2","location":"assets","locale":"","width":2400,"height":1994},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3536631,"resolution":"3","location":"assets","locale":"","width":2400,"height":1169},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3536631,"resolution":"4","location":"assets","locale":"","width":2400,"height":1658},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3515825,"resolution":"5","location":"assets","locale":"","width":2400,"height":1575},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3515825,"resolution":"6","location":"assets","locale":"","width":2400,"height":1600},"screenshot-7.jpg":{"filename":"screenshot-7.jpg","revision":3536631,"resolution":"7","location":"assets","locale":"","width":2400,"height":1567},"screenshot-8.jpg":{"filename":"screenshot-8.jpg","revision":3536631,"resolution":"8","location":"assets","locale":"","width":2400,"height":3926},"screenshot-9.jpg":{"filename":"screenshot-9.jpg","revision":3536631,"resolution":"9","location":"assets","locale":"","width":2400,"height":2100}},"screenshots":{"1":"Dashboard \u2014 stat tiles, largest plugins table, recently viewed panel, and environment info","2":"Dashboard appearance in Light Mode","3":"Explorer tab \u2014 all installed plugins view","4":"Explorer tab \u2014 interactive plugin file tree with live search and file type filtering","5":"File viewer modal \u2014 source code with syntax highlighting, metadata, and download button","6":"Multi-format export modal \u2014 TXT, JSON, XML, PDF, and clipboard options","7":"Pro: Comparator \u2014 user interface","8":"Pro: Comparator \u2014 color-coded difference view between two plugin versions","9":"Pro: FlatPack \u2014 live-filterable file preview"}},"plugin_section":[],"plugin_tags":[2353,2275,4932,1859,8848],"plugin_category":[43,59],"plugin_contributors":[241723],"plugin_business_model":[],"class_list":["post-230034","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-developer","plugin_tags-developer-tools","plugin_tags-export","plugin_tags-file-manager","plugin_category-customization","plugin_category-utilities-and-tools","plugin_contributors-blincks","plugin_committers-blincks"],"banners":{"banner":"https:\/\/ps.w.org\/structure-viewer\/assets\/banner-772x250.jpg?rev=3515825","banner_2x":"https:\/\/ps.w.org\/structure-viewer\/assets\/banner-1544x500.jpg?rev=3515825","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/structure-viewer\/assets\/icon-128x128.jpg?rev=3515825","icon_2x":"https:\/\/ps.w.org\/structure-viewer\/assets\/icon-256x256.jpg?rev=3515825","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-1.jpg?rev=3536631","caption":"Dashboard \u2014 stat tiles, largest plugins table, recently viewed panel, and environment info"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-2.jpg?rev=3536631","caption":"Dashboard appearance in Light Mode"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-3.jpg?rev=3536631","caption":"Explorer tab \u2014 all installed plugins view"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-4.jpg?rev=3536631","caption":"Explorer tab \u2014 interactive plugin file tree with live search and file type filtering"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-5.jpg?rev=3515825","caption":"File viewer modal \u2014 source code with syntax highlighting, metadata, and download button"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-6.jpg?rev=3515825","caption":"Multi-format export modal \u2014 TXT, JSON, XML, PDF, and clipboard options"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-7.jpg?rev=3536631","caption":"Pro: Comparator \u2014 user interface"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-8.jpg?rev=3536631","caption":"Pro: Comparator \u2014 color-coded difference view between two plugin versions"},{"src":"https:\/\/ps.w.org\/structure-viewer\/assets\/screenshot-9.jpg?rev=3536631","caption":"Pro: FlatPack \u2014 live-filterable file preview"}],"raw_content":"<!--section=description-->\n<p><strong>Structure Viewer is a WordPress file explorer and AI context builder for developers<\/strong> \u2014 browse, inspect, view source code, and export the complete file structure of any installed plugin or theme, directly from your WordPress admin dashboard.<\/p>\n\n<p>No FTP, no cPanel, no server access needed. Open any file, read its source code with syntax highlighting, search across your entire codebase, and export the full file tree as TXT, JSON, XML, PDF, or clipboard copy \u2014 all without leaving WordPress.<\/p>\n\n<p>And if you work with any AI coding tool \u2014 ChatGPT, Claude, Cursor, Copilot, Gemini, or anything else \u2014 Structure Viewer is the missing first step. Export your plugin's complete structure as ready-to-use AI context in one click, and give your AI the full codebase map before you ask it anything.<\/p>\n\n<p>\u2014<\/p>\n\n<h4>\ud83e\udd16 Built for AI-Assisted Development<\/h4>\n\n<p>Modern coding workflows look different than they did two years ago. You're working alongside an AI, and your AI works better when it has structural context. Structure Viewer is designed for exactly that workflow:<\/p>\n\n<ul>\n<li><strong>Tree-format exports<\/strong> purpose-built for LLM context windows \u2014 clean ASCII, no markdown noise, token-efficient<\/li>\n<li><strong>Works with any AI tool<\/strong> \u2014 ChatGPT, Claude, Cursor, Copilot, Gemini, Perplexity, or any other chat or coding assistant<\/li>\n<li><strong>One-click clipboard copy<\/strong> \u2014 emoji tree format that pastes into any AI chat with perfect alignment<\/li>\n<li><strong>Filter before you export<\/strong> \u2014 exclude <code>node_modules<\/code>, <code>vendor<\/code>, build artifacts, or anything you don't want bloating your context<\/li>\n<li><strong>Read source inline<\/strong> \u2014 open any file in the browser modal, copy the snippet you need, paste into your AI conversation<\/li>\n<li><strong>Auto-redact secrets<\/strong> \u2014 opt-in masking of API keys, tokens, passwords, AWS \/ Stripe \/ GitHub keys, JWTs and PEM private keys before content leaves the server \u2014 paste into any AI tool without leaking credentials<\/li>\n<li><strong>Pro: Comparator<\/strong> \u2014 diff two versions of a plugin and feed only the changed lines to your AI for targeted code review<\/li>\n<li><strong>Pro: FlatPack<\/strong> \u2014 extract just the PHP, just the JS, or just the CSS from any plugin and hand the AI a focused codebase<\/li>\n<li><strong>WP-CLI exports<\/strong> \u2014 script structure dumps directly into your AI agent's working directory<\/li>\n<\/ul>\n\n<p>Stop pasting one file at a time. Give the AI the whole map first, then ask better questions.<\/p>\n\n<p>\u2014<\/p>\n\n<h4>\ud83d\uddc2\ufe0f File Explorer<\/h4>\n\n<p>See exactly what is inside every plugin and theme:<\/p>\n\n<ul>\n<li><strong>Interactive tree view<\/strong> \u2014 expandable folders with icons for every file type (PHP, JS, CSS, images, JSON, XML, and more)<\/li>\n<li><strong>Searchable item picker<\/strong> \u2014 switch between All Plugins, individual plugins, All Themes, and individual themes instantly<\/li>\n<li><strong>Live tree search<\/strong> \u2014 type to filter files in real time, jump between matches with next\/prev navigation<\/li>\n<li><strong>All-mode plugin filter<\/strong> \u2014 when viewing All Plugins or All Themes, the live search filters the plugin or theme list by name so you can find the one you want fast<\/li>\n<li><strong>File type tag strip<\/strong> \u2014 one click to show only PHP files, only CSS, only images \u2014 whatever you need<\/li>\n<li><strong>File size and modification dates<\/strong> \u2014 see when each file was last changed, toggle on\/off<\/li>\n<li><strong>Recently Viewed panel<\/strong> \u2014 jump back to any file or folder you have already opened<\/li>\n<\/ul>\n\n<h4>\ud83d\udcc4 File Viewer<\/h4>\n\n<p>Click any file to read it right there in your browser:<\/p>\n\n<ul>\n<li>Inline modal with <strong>syntax highlighting<\/strong> for all common languages<\/li>\n<li><strong>File metadata<\/strong>: size, line count, last modified timestamp<\/li>\n<li><strong>Auto-redact secrets badge<\/strong> \u2014 shown in the modal when redaction is active so you know the displayed content has been sanitised<\/li>\n<li><strong>Fullscreen mode<\/strong> for reading long files without scrolling the page<\/li>\n<li><strong>One-click download<\/strong> \u2014 get any file with the correct MIME type and original filename preserved<\/li>\n<\/ul>\n\n<h4>\ud83d\udd0d Search<\/h4>\n\n<p>Find any file across your entire plugin or theme in seconds:<\/p>\n\n<ul>\n<li><strong>Real-time search<\/strong> \u2014 results appear as you type, no page reloads<\/li>\n<li><strong>Extension search<\/strong> \u2014 prefix with a dot to filter by type: <code>.php<\/code>, <code>.js<\/code>, <code>.css<\/code>, <code>.json<\/code><\/li>\n<li><strong>File type dropdown<\/strong> for quick narrowing<\/li>\n<li>Results show full relative path, file size, and last modified date<\/li>\n<\/ul>\n\n<h4>\ud83d\udce4 Export<\/h4>\n\n<p>Share or document your plugin structures in any format:<\/p>\n\n<ul>\n<li><strong>TXT<\/strong> \u2014 clean ASCII tree, perfect for documentation, tickets, and AI context windows<\/li>\n<li><strong>JSON<\/strong> \u2014 nested structure with file sizes and timestamps for programmatic use<\/li>\n<li><strong>XML<\/strong> \u2014 standardized hierarchical format<\/li>\n<li><strong>PDF<\/strong> \u2014 formatted document with header, page numbers, and automatic page breaks<\/li>\n<li><strong>Clipboard<\/strong> \u2014 one-click emoji tree copy for pasting into Slack, Notion, or GitHub<\/li>\n<\/ul>\n\n<h4>\ud83d\udcca Dashboard<\/h4>\n\n<p>Your WordPress file ecosystem at a glance:<\/p>\n\n<ul>\n<li>Stat tiles for total plugins, active\/inactive split, total themes, and total files indexed<\/li>\n<li><strong>Largest plugins table<\/strong> \u2014 instantly see which plugins are heaviest with file count and size bars<\/li>\n<li>WordPress environment strip: WP version, PHP version, active theme, site URL<\/li>\n<\/ul>\n\n<h4>\u2699\ufe0f Settings<\/h4>\n\n<p>Make it yours:<\/p>\n\n<ul>\n<li><strong>Dark mode \/ Light mode<\/strong> \u2014 toggle instantly from the plugin header or apply via Settings; rendered server-side with no flash on load<\/li>\n<li><strong>Accent color picker<\/strong> \u2014 Emerald (default), Violet, Blue, Amber, or Rose<\/li>\n<li><strong>Auto-redact secrets on export<\/strong> (new in 2.2.2) \u2014 opt-in toggle that masks credentials in viewed and downloaded file content<\/li>\n<li>Exclude hidden files, system directories, and custom patterns (<code>node_modules<\/code>, <code>.git<\/code>, <code>vendor<\/code>)<\/li>\n<li>Settings auto-save with instant confirmation toast<\/li>\n<\/ul>\n\n<h4>\ud83d\udcbb WP-CLI<\/h4>\n\n<p>Automate structure exports from the command line:<\/p>\n\n<pre><code>wp structure-viewer export plugin &lt;folder-name&gt;\nwp structure-viewer export theme &lt;folder-name&gt;\nwp structure-viewer list plugins\nwp structure-viewer list themes\n<\/code><\/pre>\n\n<p>\u2014<\/p>\n\n<h4>\ud83d\ude80 Structure Viewer Pro<\/h4>\n\n<p>Unlock two powerful Pro tools for developers who need to go deeper.<\/p>\n\n<p><strong>\ud83d\udd00 Comparator \u2014 Know Exactly What Changed<\/strong><\/p>\n\n<p>Ever updated a plugin and wondered what actually changed? Comparator shows you a precise, color-coded, line-by-line diff between any two versions \u2014 so you can audit updates, review customizations, and catch unwanted changes before they cause problems.<\/p>\n\n<ul>\n<li>Compare two plugin ZIPs side by side<\/li>\n<li>Compare an installed plugin or theme against any uploaded ZIP<\/li>\n<li>Compare two individual files for a targeted spot-check<\/li>\n<li>Added lines in green, removed in red, changed lines clearly highlighted<\/li>\n<li>Works on large plugins and minified CSS\/JS files \u2014 auto-tokenizes before diffing<\/li>\n<li>Expand\/collapse per-file diff blocks to focus on what matters<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udce6 FlatPack \u2014 Extract Only What You Need<\/strong><\/p>\n\n<p>Need just the CSS from a plugin? Or all the PHP files for a code review? FlatPack extracts any plugin or theme ZIP and flattens it into a single, clean download \u2014 no nested folders, no hunting through directory trees.<\/p>\n\n<ul>\n<li>Upload any plugin or theme ZIP and see all its files in a live preview instantly<\/li>\n<li>Filter by PHP, CSS and JS, images, or any custom extension \u2014 preview updates live<\/li>\n<li>Only the filtered files are included in the output ZIP<\/li>\n<li>Smart collision-safe naming: duplicate basenames get a folder prefix automatically<\/li>\n<li>Download a single flat ZIP in seconds<\/li>\n<\/ul>\n\n<p><strong>Upgrade to Pro from within the plugin \u2014 Settings \u2192 License \u2192 Upgrade to Pro.<\/strong><\/p>\n\n<p>\u2014<\/p>\n\n<h4>\ud83d\udd12 Security<\/h4>\n\n<p>Security is not an afterthought. Every request to Structure Viewer is protected:<\/p>\n\n<ul>\n<li><strong>Nonce verification<\/strong> on all AJAX endpoints<\/li>\n<li><strong><code>manage_options<\/code> capability<\/strong> required \u2014 administrators only, no public access<\/li>\n<li><strong>Path traversal prevention<\/strong> \u2014 file paths resolved with <code>realpath()<\/code> and verified<\/li>\n<li>Input sanitized with <code>wp_unslash()<\/code> + <code>sanitize_text_field()<\/code> before use<\/li>\n<li>All output escaped before rendering<\/li>\n<li><strong>Auto-redact secrets<\/strong> (opt-in) \u2014 strips API keys, tokens, passwords, AWS \/ Stripe \/ GitHub \/ Google \/ Slack keys, JWTs, and PEM private keys from viewed and downloaded file content<\/li>\n<li>Pro upload directories protected with <code>.htaccess<\/code> deny rules<\/li>\n<\/ul>\n\n<h4>\u26a1 Performance<\/h4>\n\n<p>Structure Viewer is invisible to your site's frontend:<\/p>\n\n<ul>\n<li>Assets load <strong>only on the Structure Viewer admin page<\/strong> \u2014 zero impact on your site<\/li>\n<li>Dashboard stats cached with a <strong>6-hour transient<\/strong><\/li>\n<li><strong>Lazy tree loading<\/strong> \u2014 only trees you expand are scanned<\/li>\n<li>FlatPack preview filtering is entirely <strong>client-side<\/strong> \u2014 no extra AJAX round-trips<\/li>\n<li>No external HTTP requests at runtime<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin.<\/li>\n<li>Search for <strong>Structure Viewer<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Navigate to <strong>Tools \u2192 Structure Viewer<\/strong> to start exploring.<\/li>\n<\/ol>\n\n<p><strong>Manual installation:<\/strong><\/p>\n\n<ol>\n<li>Download the ZIP from WordPress.org.<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>, upload the ZIP, click <strong>Install Now<\/strong>.<\/li>\n<li>Activate and navigate to <strong>Tools \u2192 Structure Viewer<\/strong>.<\/li>\n<\/ol>\n\n<p>TXT, JSON, XML, and clipboard export all work without any additional setup.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20structure%20viewer%20used%20for%3F\"><h3>What is Structure Viewer used for?<\/h3><\/dt>\n<dd><p>Structure Viewer is a WordPress developer tool that lets you browse, search, view, and export the file structure of any installed plugin or theme \u2014 directly from your WordPress admin dashboard. It is used for code audits, plugin reviews, documentation, debugging, AI-assisted development, and general development workflows.<\/p><\/dd>\n<dt id=\"how%20does%20structure%20viewer%20help%20with%20ai-assisted%20development%3F\"><h3>How does Structure Viewer help with AI-assisted development?<\/h3><\/dt>\n<dd><p>When you prompt an AI tool like ChatGPT, Claude, Cursor, or GitHub Copilot to work on a WordPress plugin or theme, the quality of its output depends almost entirely on the context you provide. Structure Viewer is built to make that first step painless.<\/p>\n\n<p>Instead of opening files one at a time and copy-pasting code into a chat, you can: export the complete file tree of any plugin or theme as a single clean TXT, JSON, or XML payload; copy it to your clipboard with one click; paste it into your AI prompt as ready-to-use structural context. The AI now knows what files exist, how they're organised, and where to look \u2014 before you've even asked it a question. From there, you can drill into specific files in the browser modal and copy targeted snippets as needed.<\/p>\n\n<p>For larger workflows, Structure Viewer Pro adds <strong>Comparator<\/strong> (so you can give the AI just the diff between two versions instead of two whole codebases) and <strong>FlatPack<\/strong> (so you can hand the AI only the PHP files, only the CSS, or any subset that matters for the task).<\/p><\/dd>\n<dt id=\"can%20i%20export%20a%20plugin%27s%20structure%20as%20ai%20prompt%20context%3F\"><h3>Can I export a plugin's structure as AI prompt context?<\/h3><\/dt>\n<dd><p>Yes \u2014 that is one of the main use cases. Use the Export tab to generate a TXT, JSON, or XML representation of any plugin or theme. The TXT format is intentionally token-efficient \u2014 clean ASCII tree, no markdown noise \u2014 so it fits cleanly inside an AI context window. You can also use the one-click clipboard copy to paste an emoji tree directly into ChatGPT, Claude, Cursor, or any other AI chat interface.<\/p><\/dd>\n<dt id=\"what%20does%20auto-redact%20secrets%20do%3F\"><h3>What does Auto-redact secrets do?<\/h3><\/dt>\n<dd><p>When enabled in <strong>Settings \u2192 Security Settings<\/strong>, Structure Viewer scans the contents of any file you view or download and masks anything that looks like a credential \u2014 API keys, OAuth tokens, passwords, AWS \/ Stripe \/ GitHub \/ Google \/ Slack keys, JWTs, PEM-encoded private keys, and the standard wp-config credential constants (<code>DB_PASSWORD<\/code>, <code>AUTH_KEY<\/code>, salts, etc.). The redaction happens server-side before the content reaches your browser, so the masked file is safe to paste into any AI tool, a ticket, or a screenshare. A small badge in the file viewer modal shows how many matches were redacted for the open file. The toggle is off by default \u2014 turn it on only when you actually want sanitised output.<\/p><\/dd>\n<dt id=\"is%20this%20a%20wordpress%20file%20manager%20plugin%3F\"><h3>Is this a WordPress file manager plugin?<\/h3><\/dt>\n<dd><p>Structure Viewer is purpose-built for developers who need to read and inspect plugin and theme files \u2014 not upload or edit them. It is a read-only WordPress file explorer and code viewer. If you need to upload or manage files via the WordPress admin, a general file manager plugin is what you need. If you need to audit, document, or feed code to an AI tool, Structure Viewer is the right choice.<\/p><\/dd>\n<dt id=\"does%20structure%20viewer%20work%20with%20wordpress%20themes%3F\"><h3>Does Structure Viewer work with WordPress themes?<\/h3><\/dt>\n<dd><p>Yes. Switch the item picker to \"All Themes\" or select any individual theme to browse its complete file structure, view source files, search by filename or extension, and export the full tree in any format. Everything that works for plugins works for themes.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20safe%20to%20use%20on%20a%20live%20site%3F\"><h3>Is this plugin safe to use on a live site?<\/h3><\/dt>\n<dd><p>Yes. Structure Viewer is strictly read-only \u2014 it cannot modify, delete, or upload files. Access is restricted to WordPress administrators only, and no frontend scripts or pages are added to your site. Your visitors are completely unaffected.<\/p><\/dd>\n<dt id=\"do%20i%20need%20ftp%20or%20server%20access%20to%20use%20it%3F\"><h3>Do I need FTP or server access to use it?<\/h3><\/dt>\n<dd><p>No. Structure Viewer works entirely through the WordPress admin interface. You do not need FTP, cPanel, SSH, or any server-level access. If you are a WordPress administrator, you have everything you need.<\/p><\/dd>\n<dt id=\"who%20can%20access%20structure%20viewer%3F\"><h3>Who can access Structure Viewer?<\/h3><\/dt>\n<dd><p>Only users with the <code>manage_options<\/code> capability \u2014 WordPress administrators by default. There is no frontend component and the plugin adds no public-facing pages or scripts.<\/p><\/dd>\n<dt id=\"can%20i%20view%20all%20my%20plugins%20at%20once%3F\"><h3>Can I view all my plugins at once?<\/h3><\/dt>\n<dd><p>Yes. Select \"All Plugins\" from the item picker to see a collapsed tree for every installed plugin. Expand any plugin heading to drill into its files. The same applies to themes with \"All Themes\". In All Plugins \/ All Themes mode, typing in the live search bar now filters the list of plugins or themes by name so you can find the one you want quickly.<\/p><\/dd>\n<dt id=\"can%20i%20read%20the%20source%20code%20of%20a%20file%3F\"><h3>Can I read the source code of a file?<\/h3><\/dt>\n<dd><p>Yes. Click any text-based file in the tree to open it in the inline file viewer with syntax highlighting. Image files open in a new browser tab. The viewer also shows file size, line count, and last modified date.<\/p><\/dd>\n<dt id=\"can%20i%20download%20individual%20files%3F\"><h3>Can I download individual files?<\/h3><\/dt>\n<dd><p>Yes. The file viewer has a one-click Download button. The file is served with the correct MIME type and its original filename.<\/p><\/dd>\n<dt id=\"what%20export%20formats%20are%20available%3F\"><h3>What export formats are available?<\/h3><\/dt>\n<dd><p>TXT (plain ASCII tree), JSON (nested with metadata), XML, PDF, and Clipboard (emoji tree for pasting anywhere). You can choose your preferred clipboard format (JSON, Text, or XML) in Settings.<\/p><\/dd>\n<dt id=\"can%20i%20search%20inside%20a%20plugin%27s%20files%3F\"><h3>Can I search inside a plugin's files?<\/h3><\/dt>\n<dd><p>Yes. The Search tab lets you search by filename or extension across any plugin or theme in real time. Results show the full path, size, and last modified date.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20certain%20files%20or%20directories%3F\"><h3>Can I exclude certain files or directories?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings \u2192 Security and Exclusions<\/strong> to toggle exclusions for hidden files and system directories, and to add your own custom patterns such as <code>vendor<\/code>, <code>node_modules<\/code>, <code>*.log<\/code>, or <code>.git<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wp-cli%3F\"><h3>Does it work with WP-CLI?<\/h3><\/dt>\n<dd><p>Yes. You can export plugin and theme structures from the command line:<\/p>\n\n<pre><code>wp structure-viewer export plugin &lt;folder-name&gt;\nwp structure-viewer export theme &lt;folder-name&gt;\nwp structure-viewer list plugins\nwp structure-viewer list themes\n<\/code><\/pre><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a Pro version?<\/h3><\/dt>\n<dd><p>Yes. Structure Viewer Pro adds two features: <strong>Comparator<\/strong> (compare any two plugin or theme versions with a color-coded diff view) and <strong>FlatPack<\/strong> (extract and filter files from any plugin or theme ZIP by file type). The free version includes the full Explorer, Search, Export, Dashboard, and Settings. Upgrade from <strong>Settings \u2192 Licence \u2192 Upgrade to Pro<\/strong>.<\/p><\/dd>\n<dt id=\"how%20does%20comparator%20work%3F\"><h3>How does Comparator work?<\/h3><\/dt>\n<dd><p>Upload two plugin ZIPs \u2014 or select an installed plugin and upload a ZIP to compare against it. Comparator produces a color-coded, file-by-file diff showing exactly which lines were added, removed, or changed. It handles large files and minified CSS\/JS by tokenising them before diffing, so you get meaningful per-rule output instead of single-line change blocks.<\/p><\/dd>\n<dt id=\"how%20does%20flatpack%20work%3F\"><h3>How does FlatPack work?<\/h3><\/dt>\n<dd><p>Upload any plugin or theme ZIP. FlatPack extracts all its files and shows you a live-filterable preview. Select which file types you want \u2014 PHP, CSS and JS, images, or custom extensions \u2014 and click Run FlatPack. Only the matching files are packed into a single flat ZIP for download, no nested directories included.<\/p><\/dd>\n<dt id=\"how%20does%20flatpack%20handle%20files%20with%20the%20same%20name%3F\"><h3>How does FlatPack handle files with the same name?<\/h3><\/dt>\n<dd><p>Files with unique basenames keep their original name. When two or more files share the same basename (for example multiple <code>style.css<\/code> files from different directories), each is prefixed with its relative folder path \u2014 for example <code>assets-style.css<\/code> and <code>css-style.css<\/code>. Any remaining collisions get a numeric suffix.<\/p><\/dd>\n<dt id=\"does%20structure%20viewer%20affect%20site%20performance%3F\"><h3>Does Structure Viewer affect site performance?<\/h3><\/dt>\n<dd><p>No. Plugin assets are loaded only on the Structure Viewer admin page and have zero impact on your website's frontend. Dashboard stat counts are cached. No external requests are made at runtime.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20store%20any%20personal%20data%3F\"><h3>Does the plugin store any personal data?<\/h3><\/dt>\n<dd><p>Structure Viewer stores settings in the <code>wp_options<\/code> table under <code>structureviewer_settings<\/code>. Temporary files uploaded for Comparator or FlatPack are stored in the WordPress uploads directory and deleted immediately after processing. No user data or personal information is collected or transmitted.<\/p><\/dd>\n<dt id=\"is%20structure%20viewer%20compatible%20with%20wordpress%20multisite%3F\"><h3>Is Structure Viewer compatible with WordPress Multisite?<\/h3><\/dt>\n<dd><p>The plugin is designed for single-site use. It may function on individual subsites within a Multisite network but Multisite-specific administration is not officially tested or supported.<\/p><\/dd>\n<dt id=\"how%20can%20i%20support%20development%3F\"><h3>How can I support development?<\/h3><\/dt>\n<dd><p>If Structure Viewer saves you time, a coffee goes a long way. You can support development at <a href=\"https:\/\/buymeacoffee.com\/blincks\">buymeacoffee.com\/blincks<\/a>, or via the <strong>Support development<\/strong> card in <strong>Tools \u2192 Structure Viewer \u2192 Settings<\/strong>. Leaving a review on WordPress.org also helps a lot.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.2<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> Auto-redact secrets on export \u2014 opt-in toggle in Settings \u2192 Security Settings that masks API keys, tokens, passwords, AWS \/ Stripe \/ GitHub \/ Google \/ Slack keys, JWTs, PEM private keys, and wp-config credential constants in viewed and downloaded file content. Safer to share output with AI tools, tickets, or screenshares.<\/li>\n<li><strong>New:<\/strong> Redaction badge in the file viewer modal showing how many secrets were masked for the open file.<\/li>\n<li><strong>New:<\/strong> Live search now works in All Plugins \/ All Themes mode \u2014 type to filter the plugin or theme list by name. The placeholder updates to reflect the current mode so the behaviour is obvious.<\/li>\n<li><strong>New:<\/strong> Donate \/ support link on the Plugins list and in <strong>Settings \u2192 Support development<\/strong> for users who want to fund continued development.<\/li>\n<li><strong>Improved:<\/strong> Tab content no longer leaves an empty gradient strip below short tabs (Dashboard, Comparator \/ FlatPack tabs). The viewport background now lives on the body element so every tab feels consistent.<\/li>\n<li><strong>Improved:<\/strong> Search result cap raised from 200 to 500, and the response now signals when the cap was hit so future UI can surface a \"narrow your search\" hint.<\/li>\n<li><strong>Improved:<\/strong> Dashboard file-count cache key derived from the plugin version \u2014 every release now automatically invalidates the stale count instead of relying on a manually-bumped constant.<\/li>\n<li><strong>Improved:<\/strong> Updated plugin name and short description for clarity \u2014 Structure Viewer is a file explorer and AI context builder.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> Quick dark\/light mode toggle directly from the plugin header \u2014 no need to visit Settings<\/li>\n<li><strong>Improved:<\/strong> Search results UI redesigned for better readability and faster scanning<\/li>\n<li><strong>Improved:<\/strong> Tab navigation styling refined for a cleaner, more consistent look<\/li>\n<li><strong>Improved:<\/strong> Dashboard layout adjustments for tighter spacing and visual alignment<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li><strong>New: Pro Comparator<\/strong> \u2014 compare two plugin or theme versions with a color-coded line-by-line diff; supports ZIPs, installed plugins\/themes, and individual files; works with large and minified files<\/li>\n<li><strong>New: Pro FlatPack<\/strong> \u2014 extract and filter files from any plugin or theme ZIP by type (PHP, CSS, JS, images, custom); download as a single flat ZIP with smart collision-safe naming<\/li>\n<li><strong>New: Dashboard redesign<\/strong> \u2014 stat tiles with combined plugin and theme file count; async largest-plugins table; recently viewed panel; WordPress environment strip<\/li>\n<li><strong>New: Explorer improvements<\/strong> \u2014 searchable item picker; live tree search with next\/prev navigation; file type tag strip; lazy loading for all-items mode; AJAX refresh button (no page reload)<\/li>\n<li><strong>New: UI<\/strong> \u2014 dark\/light mode with server-side class; accent color picker with 5 options (default: Emerald); branded logo<\/li>\n<li><strong>New: Copy format setting<\/strong> \u2014 choose JSON, Text, or XML as the clipboard copy format in Settings<\/li>\n<li><strong>New: Pro upsell placeholders<\/strong> \u2014 free users see feature descriptions and a direct upgrade button in the Comparator and FlatPack tabs<\/li>\n<li><strong>Improved: Comparator diff engine<\/strong> \u2014 patience algorithm for large files; correct deletion-before-addition ordering; minified file tokenization; similar-change pairing; raised limits (5 MB \/ 20,000 lines)<\/li>\n<li><strong>New: Accent color picker<\/strong> \u2014 customize the plugin with the color you want to see.<\/li>\n<li><strong>Improved: FlatPack workflow<\/strong> \u2014 extract-all-then-filter-live; reset on new file selection; filter pills built from actual ZIP contents<\/li>\n<li><strong>Improved: Settings<\/strong> \u2014 auto-save with debounce and toast; exclusion patterns UI<\/li>\n<li><strong>Fixed: WordPress admin notices<\/strong> \u2014 scoped text color to plugin container only; no longer overrides WP notice colors<\/li>\n<li><strong>Fixed: FlatPack<\/strong> \u2014 protection files no longer appear in extracted file list<\/li>\n<li><strong>Fixed: Export \/ clipboard<\/strong> \u2014 \"undefined\" output caused by buffer pollution resolved<\/li>\n<li><strong>Fixed: Bug Fixes<\/strong> \u2014 Several bug fixes and security improvements<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fixed: Copy Structure button not working in Safari.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>New: Download any individual file directly from the file viewer modal (all file types including binary)<\/li>\n<li>New: PDF export with styled header, monospace tree, page numbers, and automatic page breaks<\/li>\n<li>Security: download handler with path traversal prevention, nonce verification, and MIME type detection<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Complete UI\/UX overhaul \u2014 modernized interface, modal file viewer with syntax highlighting<\/li>\n<li>Multi-format export: JSON and XML added alongside TXT<\/li>\n<li>Real-time search with file type filtering, one-click clipboard copy, keyboard navigation, WP-CLI<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Settings link added to plugin listing.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added TXT export.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Plugin &amp; theme file explorer for developers. Browse, inspect, view source code, and export file structures as ready-to-use AI context.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/230034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=230034"}],"author":[{"embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/blincks"}],"wp:attachment":[{"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=230034"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=230034"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=230034"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=230034"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=230034"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=230034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}