This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

ACF My Media Cluster


ACF My Media Cluster is an extension for Advance Custom Fields which adds the feature to create groups of media files for download on a page/post/custom post type. The plugin does come with both a simple to use shortcode and a helper function if you wish to customize your output.

  • Visually create your Fields in the ACF interface.
  • Assign your fields to post types
  • Easily load data through a simple and friendly helper function, or just use the shortcode.
  • Uses the native WordPress custom post type for ease of use and fast processing
  • Uses the native WordPress metadata for ease of use and fast processing
  • Add multiple media files to your posts, pages, and custom post types. You can also modify title, caption and description from this interface.


Use the helper function below to pull data from the database. The function will be return an array. The helper function takes in 3 parameters.

acf_media_cluster(string|required $acf_field_name, int $postID, array $options);


Based on the helper function above. Let say we want to pull annual reports from current page.

acf_media_cluster('annual_reports', get_the_ID());

The data that will be return will be an array. You can then loop over the array and use the data anyway you want.

$ap = acf_media_cluster('annual_reports', get_the_ID());
if( !empty($ap) ){
    foreach($ap as $item){
        var_dump($item); //Use the data as you wish


The 3rd parameter of the acf_media_cluster(string|required $acf_field_name, int $postID, array $options); helper function is options which takes in an array. You can pass the following:

acf_media_cluster('annual_reports', get_the_ID(), array(
    'orderby' => 'post__in',
    'order' => 'ASC'

For acceptable values for order and orderby, please refer to


In your editor, add the following shortcode where you want the media to appear.

[acf-media-cluster field_name="my_media_field"]

The shortcode accepts the following parameters.

string|required $field_name – Which ACF field name should be used
string $container_id – Wrap the output with your custom CSS ID name
string $container_class – Wrap the output with your custom CSS class name
string $skin – Do you want default CSS styling to apply? yes|no
string $format – html format for the output. table|list
string $title – a title wrapped in an container tag. Leave blank for no tag.
string $title_container – html tag to wrap the title in, with no brackets. “h3” is default.
string $show_meta – Do you want to display file metadata (size, downloads, date)? yes|no


This ACF field type is compatible with:
* ACF 6
* ACF 5

This ACF field is compatible with the iThemes Security plugin, but you must uncheck the option for “Disable PHP in plugins” under PHP Execution in System Tweaks.


This plugin is based on ACF Media Cluster by Navneil Naicker. (

It also takes some inspiration from the Download Attachments plugin by dfactory, which sadly no longer exists.


  1. Copy the acf-media-cluster folder into your wp-content/plugins folder
  2. Activate the ACF My Media Cluster plugin via the plugins admin page
  3. Create a new field via ACF and select the Media Cluster type
  4. Read the description above for usage instructions


There are no reviews for this plugin.

Contributors & Developers

“ACF My Media Cluster” is open source software. The following people have contributed to this plugin.


Translate “ACF My Media Cluster” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


* Fixed a javascript issue that prevented the user from updating the selected file before saving in some circumstances.
* Fixed a javascript issue that appended the name of a file to existing text instead of overwriting when updating the selected file in some circumstances.
* Now dynamically selecting the plugin version number from file headers instead of hardcoding it.

* Additional security and sanitization of data.

* Additional security and sanitization of data.

* Additional security and sanitization of data.

* Additional security and sanitization of data.
* Changes to the way files are referenced
* Fixed an output bug in the shortcode’s list option

* Additional security and sanitization of data.
* Fixed a PHP warning on the field creation page.

* Added better security and sanitization of data
* Removed the download.php file to eliminate external calls to that script
* Moved inline javascript to the acf-media-cluster.js file


  • Re-added backwards compatibility with ACF version 5, and cleaned things up to prepare for future ACF updates.
  • Added more documentation to codebase.
  • Rebranded for public release.


  • Finally fixed the issue with the button clicks requiring a perfectly still mouse due to the sorting function.
  • Fixed the model edit box on files added to the list but not yet saved.


  • Fixed issue with clusters not rendering more than 5 media links in the backend


  • Made custom field settings compatible with ACF 6.x


  • Added ability to change the wrapper tag for the file list title.


  • Added image alts to download link icons for accessibility


  • Added aria-label and role attributes to download links for accessibility


  • Fixed a jQuery conflict with ACF’s date picker field type


  • Fixed primary data retrieval function
  • Fixed shortcode output
  • Added ability to reorder files
  • Title field now updates in backend via jQuery on edit
  • Added filetype icons
  • Added download count
  • Added format and content options to the shortcode
  • Added meta info on the file to the post edit page


  • Initial Release.