=== ACF My Media Cluster ===
Contributors: kionae
Tags: acf, media, pdf, documents, download-files, downloads
Requires at least: 3.6.0
Tested up to: 6.9
Stable tag: 1.2.12
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
ACF My Media Cluster is an extension for the Advance Custom Fields plugin, which adds the ability to create groups of media files for download on a page/post/custom post type. Based on an add-on created by Navneil Naicker and Download Attachments by dFactory.
== Description ==
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.
= Usage =
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);`
= Example =
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
}
}`
= Options =
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
= Shortcode =
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
= Compatibility =
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.
= Credits =
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.
== Installation ==
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
== Changelog ==
= 1.2.12 =
* Fixed PHP deprecation issues.
* Checking WP 6.9 compatibility
= 1.2.11 =
* Fixed a PHP deprecation issue.
= 1.2.10 =
* 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.
= 1.2.9 =
* Additional security and sanitization of data.
= 1.2.8 =
* Additional security and sanitization of data.
= 1.2.7 =
* Additional security and sanitization of data.
= 1.2.6 =
* Additional security and sanitization of data.
* Changes to the way files are referenced
* Fixed an output bug in the shortcode's list option
= 1.2.5 =
* Additional security and sanitization of data.
* Fixed a PHP warning on the field creation page.
= 1.2.4=
* 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
= 1.2.3 =
* 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.
= 1.2.2 =
* 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.
= 1.2.1 =
* Fixed issue with clusters not rendering more than 5 media links in the backend
= 1.2.0 =
* Made custom field settings compatible with ACF 6.x
= 1.1.4 =
* Added ability to change the wrapper tag for the file list title.
= 1.1.3 =
* Added image alts to download link icons for accessibility
= 1.1.2 =
* Added aria-label and role attributes to download links for accessibility
= 1.1.1 =
* Fixed a jQuery conflict with ACF's date picker field type
= 1.1.0 =
* 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
= 1.0.0 =
* Initial Release.