Mmm Simple File List

plugin banner

Plugin to list files in a given directory using a basic shortcode.

Author:Adam Bissonnette (profile at
WordPress version required:3.4
WordPress version tested:5.3.3
Plugin version:2.2
Added to WordPress repository:18-09-2014
Last updated:02-02-2020
Rating, %:92
Rated by:19
Plugin URI:
Total downloads:17 109
Active installs:2 000+
plugin download
Click to start download

This is a simple plugin to list files in a given directory using this shortcode: [MMFileList /].


  • folder: Relative to the base uploads directory of your wordpress install (e.g. or or You can check your media settings from your WordPress dashboard in Settings -> Media. If you organize your uploads in the WordPress default month / year base folder you should either prepend this field with “/../../” or disable that setting before uploading files.
  • format: Tabular (format=”table”) or Unordered list (format=”li”) or comma-delimited (format=”comma”) or Unordered List of Images (format=”img” Note: this will put all files in tags) or Custom (format=”custom”) for using the Shortcode content to create a custom template (see Custom Formats section below for more information)
  • types: Only list given file types (e.g. types=”pdf,doc,txt”), If no types are specified then all files in the directory will be listed.
  • class: Only used for the “li”, “img” and “table” formats, applies a given class to the shortcode output (e.g. <ul class=”mmm-list”> / for more information on styling check out the FAQ)
  • limit: The default value will list all files in the directory. You can add a positive number of your choice and that amount of files will be displayed.
  • orderby: Current params can be either “name” (default) or “date” which sorts the files by date modified since date created seems to be hit and miss.
  • order: By default the order of the list is sorted descending (desc) from the highest value to lowest where value is determined by the “orderby” attribute. Ordering by date results in a list being displayed as newest to oldest and ordering by name results in a list descending through the alphabet (a-z). To reverse either of these defaults simply add order=”desc” into the shortcode parameters
  • target: This parameter lets you set a “target” for the links to the listed files (This is typically used to open the files in a new window)
  • prettyname: This replaces underscores and dashes with spaces and removes the file extension from the filename.
  • removesize: This removes the filesize from the default output
  • removeextension: This removes the file extension (leaving underscores and dashes)
  • regexstrip: Feeling like a wizard? Why not put in your own regex to strip out whatever you want from the filenames (no warranty provided, use proper formatting e.g. regexstrip=”/e/” will replace all e’s in the filename!)
  • regexreplace: Want to replace that content with something other than a blank space? Add whatever you want here to work with the regexstrip function
  • dateformat: Adjust the format of the {date} variable in custom templates
  • headings: Adjust the headings of the table format by entering a comma delimited list
  • usecwd: If you can’t get the wp_upload_dir() folder to work you can try setting this to true to use your current working directory instead which should be your public_html folder


For all html formats you can expect to see the following output wrapped in styleable containers:

  • Filename (linked to the File Url)
  • File Size

At this point “comma” is the only available text output and it only outputs the url to the file in a comma delimited list (no links – just text).

If the folder you’ve entered isn’t found or there are no files with the extensions you’ve listed there will be some warning text output to let you know. This text is wrapped in a “mmm-warning” class in case you want to style it out (for more information on styling check out the FAQ)

Usage Examples:

Let’s say you’re using the default WordPress Media settings so we can expect your uploads folder to be in /wp-content/uploads/mm/yy/ with this in mind the shortcode “folder” attribute will look in a directory relative to this. With this base directory say we want to list “png” files in the folder “/wp-content/uploads/cats/” we would use the following shortcode:

[MMFileList folder=”/../../cats/” format=”table” types=”png” /]

If you have you disabled the setting to store uploads in the /mm/yy/ folder structure (you can do this within Settings -> Media) and wanted to display that same file you would use this shortcode:

[MMFileList folder=”/cats/” format=”table” types=”png” /]

This will result in a tabular list of all .png files in the /wp-content/uploads/cats/ folder.

Custom Formats

The “li” and “custom” formats allow you to define a template using the content portion of the shortcode. The difference between these two output formats is that “li” will still wrap all the output in a <ul> tag and each file will be wrapped in a <li> tag. Here is an example of how to create a custom template:

[MMFileList folder=”/cats/” format=”li”]<div class=”taco”><a href=”{url}”>{name} ({size})</a></div>[/MMFileList]

Variables that can be used with the custom templates are as follows:

  • {name} – This will output the filename
  • {size} – This will output the filesize
  • {url} – This will output the file url
  • {date} – This will ouput the file’s last modified date (use the format parameter to customize how this looks!)
  • If you would like more information available to be output don’t hesitate to a send in a request via the support forum