{"id":372616,"date":"2026-09-28T18:17:21","date_gmt":"2026-09-28T18:17:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/docsplorer\/"},"modified":"2026-10-02T22:06:18","modified_gmt":"2026-10-02T22:06:18","slug":"mulino-file-show","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/mulino-file-show\/","author":23570649,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.2","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Mulino file show","header_author":"Peder M\u00f8ller","header_description":"Nested-folder document library (e.g. Decade > Year) with drag-and-drop admin upload and a frontend breadcrumb browser shortcode [mulino_documents].","assets_banners_color":"264653","last_updated":"2026-10-02 22:06:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":136,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"pedroviking","date":"2026-10-02 18:20:54","revision":3725248},"1.1.0":{"tag":"1.1.0","author":"pedroviking","date":"2026-10-02 22:06:18","revision":3725550}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3717716,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3717716,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3717716,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3717716,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3717716,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3717728,"resolution":"1","location":"assets","locale":"","width":2494,"height":500},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3717728,"resolution":"2","location":"assets","locale":"","width":1420,"height":640}},"screenshots":{"1":"The Mulino file show admin screen, with the folder tree and drag-and-drop upload area.","2":"The public folder browser shown by the <code>[mulino_documents]<\/code> shortcode."}},"plugin_section":[],"plugin_tags":[24392,9054,8848,88,9747],"plugin_category":[],"plugin_contributors":[283244],"plugin_business_model":[],"class_list":["post-372616","plugin","type-plugin","status-publish","hentry","plugin_tags-document-library","plugin_tags-documents","plugin_tags-file-manager","plugin_tags-files","plugin_tags-folders","plugin_contributors-pedroviking","plugin_committers-pedroviking"],"banners":{"banner":"https:\/\/ps.w.org\/mulino-file-show\/assets\/banner-772x250.png?rev=3717716","banner_2x":"https:\/\/ps.w.org\/mulino-file-show\/assets\/banner-1544x500.png?rev=3717716","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/mulino-file-show\/assets\/icon.svg?rev=3717716","icon":"https:\/\/ps.w.org\/mulino-file-show\/assets\/icon.svg?rev=3717716","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/mulino-file-show\/assets\/screenshot-1.png?rev=3717728","caption":"The Mulino file show admin screen, with the folder tree and drag-and-drop upload area."},{"src":"https:\/\/ps.w.org\/mulino-file-show\/assets\/screenshot-2.png?rev=3717728","caption":"The public folder browser shown by the <code>[mulino_documents]<\/code> shortcode."}],"raw_content":"<!--section=description-->\n<p>Mulino file show is a lightweight document library for WordPress. Organize\ndocuments into nested folders (Decade &gt; Year, Department &gt; Project, or\nany hierarchy you like), manage everything with a drag-and-drop admin\nscreen, and let visitors browse the same structure on your public site\nwith a single shortcode.<\/p>\n\n<p><strong>Admin features<\/strong><\/p>\n\n<ul>\n<li>Drag and drop files straight from your computer to upload them into a folder<\/li>\n<li>Drag existing documents or whole folders to re-file them<\/li>\n<li>Rename or delete folders and documents from the same screen<\/li>\n<li>Nested folders of unlimited depth<\/li>\n<li>Uploads run one file at a time with a progress bar, and files that are too big for your web host are caught before they are sent<\/li>\n<\/ul>\n\n<p><strong>Frontend features<\/strong><\/p>\n\n<ul>\n<li><code>[mulino_documents]<\/code> shortcode shows a breadcrumb-navigable folder browser<\/li>\n<li>Show the whole library, or start in one folder with <code>folder=\"...\"<\/code><\/li>\n<li>Natural sorting (\"Minutes 2\" before \"Minutes 10\"), optionally newest year first<\/li>\n<li>Optionally hide folders that have no documents yet<\/li>\n<li>File-type icons (PDF, Word, Excel, images, and more)<\/li>\n<li>Every folder has its own link, so you can bookmark it or share it directly<\/li>\n<\/ul>\n\n<p><strong>Under the hood<\/strong><\/p>\n\n<p>Mulino file show stores everything using WordPress' own post types and\ntaxonomies -- no custom database tables, so your data stays portable\nand inspectable with standard WordPress tools. It also exposes a small\nset of actions and filters for building your own extensions; see\nhttps:\/\/github.com\/pedroviking\/mulino-file-show\/blob\/main\/HOOKS.md<\/p>\n\n<p>This plugin is free and open source. Source code, issue tracker, and\nthe automated test suite live at:\nhttps:\/\/github.com\/pedroviking\/mulino-file-show<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>mulino-file-show<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install\nthrough the WordPress plugin screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to <strong>File Show<\/strong> in the admin menu to create folders and upload\ndocuments.<\/li>\n<li>Add the <code>[mulino_documents]<\/code> shortcode to any page or post to\nshow the public folder browser.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20options%20does%20the%20shortcode%20have%3F\"><h3>Which options does the shortcode have?<\/h3><\/dt>\n<dd><p>All of them are optional:<\/p>\n\n<ul>\n<li><code>folder=\"minutes\"<\/code> starts the browser in the folder with that slug instead of at the top of the library. Visitors can't browse above it, so you can put different folders on different pages.<\/li>\n<li><code>folder_order=\"desc\"<\/code> lists folders in reverse order, e.g. the newest year first. Default: <code>asc<\/code>.<\/li>\n<li><code>orderby=\"date\"<\/code> sorts documents by upload date instead of by name. Default: <code>name<\/code>.<\/li>\n<li><code>document_order=\"desc\"<\/code> reverses the document order, e.g. \"Budget 2010\" before \"Budget 2009\". Default: <code>asc<\/code>. (<code>order<\/code> works too.)<\/li>\n<li><code>hide_empty=\"yes\"<\/code> hides folders with no documents in them or in any of their subfolders. Default: <code>no<\/code>.<\/li>\n<\/ul>\n\n<p>Example: <code>[mulino_documents folder=\"minutes\" folder_order=\"desc\"]<\/code><\/p>\n\n<p>To find a folder's slug, open the folder on the <strong>File Show<\/strong> admin screen and look at the address bar: it's the part after <code>folder=<\/code>, e.g. <code>board-minutes<\/code> for a folder called \"Board Minutes\".<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20know%20how%20to%20code%20to%20use%20this%3F\"><h3>Do I need to know how to code to use this?<\/h3><\/dt>\n<dd><p>No. Creating folders, uploading files, and organizing them is all done\nby dragging and dropping in the admin screen.<\/p><\/dd>\n<dt id=\"can%20i%20nest%20folders%20as%20deep%20as%20i%20like%3F\"><h3>Can I nest folders as deep as I like?<\/h3><\/dt>\n<dd><p>Yes, folders can be nested to any depth (e.g. a decade folder\ncontaining year folders, which could themselves contain sub-folders).<\/p><\/dd>\n<dt id=\"where%20are%20the%20actual%20files%20stored%3F\"><h3>Where are the actual files stored?<\/h3><\/dt>\n<dd><p>Uploaded files go through WordPress' normal media library, so they end\nup in your regular <code>wp-content\/uploads\/<\/code> folder, organized by upload\ndate. The folder structure you see in Mulino file show is a separate\norganizational layer on top of that, not a real filesystem folder\nstructure.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20documents%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my documents if I delete the plugin?<\/h3><\/dt>\n<dd><p>By default nothing: your documents and folders stay in the database, so you can reinstall the plugin and carry on. If you want them removed too, tick \"Also delete all documents and folders\" under <strong>Settings &gt; Media<\/strong> before deleting the plugin. The uploaded files in the Media Library are kept either way.<\/p><\/dd>\n<dt id=\"does%20deleting%20a%20document%20also%20delete%20the%20uploaded%20file%3F\"><h3>Does deleting a document also delete the uploaded file?<\/h3><\/dt>\n<dd><p>Not currently. Deleting a document removes it from Mulino file show (moving\nit to the trash), but the underlying file remains in your media\nlibrary. This may change in a future version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New shortcode options: <code>folder<\/code>, <code>folder_order<\/code>, <code>orderby<\/code>, <code>document_order<\/code> and <code>hide_empty<\/code>. See the FAQ.<\/li>\n<li>Folders and documents are now sorted naturally (\"Minutes 2\" before \"Minutes 10\"), both on the site and in the admin screen.<\/li>\n<li>Documents that aren't in any folder are now shown at the top of the library on the site, just like under \"All\" in the admin screen.<\/li>\n<li>Uploads now run one file at a time with a progress bar. Files larger than your web host's limit are caught before they're sent, and all problems are listed together instead of in one pop-up per file.<\/li>\n<li>New setting under Settings &gt; Media: delete all documents and folders when the plugin is deleted (off by default).<\/li>\n<li>New filter for developers: <code>mulino_frontend_document_query_args<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>All code identifiers now use the longer, more distinctive prefix <code>mulino<\/code> instead of <code>mfs<\/code> (functions, constants, hooks, AJAX actions, post type, taxonomy, shortcode, CSS classes and script handles). The shortcode is now <code>[mulino_documents]<\/code>, and add-ons must use the new hook names.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Internal cleanup: a few leftover asset handles and one icon CSS class from an earlier plugin name had never been fully renamed. They are harmless in isolation but were replaced for consistency and to remove any theoretical collision risk with another plugin.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release under the name Mulino file show: nested folders, drag-and-drop admin manager, rename\/delete support for both folders and documents, frontend shortcode, and extension hooks for building add-ons.<\/li>\n<\/ul>","raw_excerpt":"Browse documents in nested, drag-and-drop-organized folders, with a simple public shortcode and no custom database tables.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/372616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=372616"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pedroviking"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=372616"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=372616"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=372616"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=372616"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=372616"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=372616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}