Enhances the Media Library; powerful gallery and list shortcodes, full taxonomy support, IPTC/EXIF/XMP/PDF processing, bulk/quick edit.
The Media Library Assistant provides several enhancements for managing the Media Library, including:
The [mla_gallery]
shortcode, used in a post, page or custom post type to add a gallery of images and/or other Media Library items (such as PDF documents). MLA Gallery is a superset of the WordPress [gallery]
shortcode; it is compatible with [gallery]
and provides many enhancements. These include: 1) full query and display support for WordPress categories, tags, custom taxonomies and custom fields, 2) support for all post_mime_type values, not just images 3) media Library items need not be “attached” to the post, and 4) control over the styles, markup and content of each gallery using Style and Markup Templates. Twenty-eight hooks are provided for complete gallery customization from your theme or plugin code.
The [mla_tag_cloud]
shortcode, used in a post, page, custom post type or widget to display the “most used” terms in your Media Library where the size of each term is determined by how many times that particular term has been assigned to Media Library items. Twenty-five hooks are provided for complete cloud customization from your theme or plugin code.
The [mla_term_list]
shortcode, used in a post, page, custom post type or widget to display hierarchical (and flat) taxonomy terms in list, dropdown control or checklist formats. Twenty hooks are provided for complete list customization from your theme or plugin code.
The [mla_custom_list]
shortcode, used in a post, page, custom post type or widget to display flat lists, dropdown controls and checkbox lists of custom field values. Twenty-seven hooks are provided for complete list customization from your theme or plugin code.
Support for WPML and Polylang multi-language CMS plugins. MLA has earned a place on WPML’s List of Recommended Plugins.
Integrates with Photonic Gallery, Justified Image Grid, Jetpack and other plugins, so you can add slideshows, thumbnail strips and special effects to your [mla_gallery]
galleries.
Works with WordPress Real Media Library: Media Library Folder & File Manager (Lite and Pro) to organize your files into folders, collections and galleries. This combination enhances both the Media/Assistant admin submenu and the [mla_gallery]
shortcode.
Works with CatFolders – WP Media Folders (Lite and Pro) to categorize media files better and faster. This combination enhances both the Media/Assistant admin submenu and the [mla_gallery]
shortcode.
Powerful Content Templates, which let you compose a value from multiple data sources, mix literal text with data values, test for empty values and choose among two or more alternatives or suppress output entirely.
Attachment metadata such as file size, image dimensions and where-used information can be assigned to WordPress custom fields. You can then use the custom fields in your [mla_gallery]
display and you can add custom fields as sortable, searchable columns in the Media/Assistant submenu table. You can also modify the WordPress _wp_attachment_metadata
contents to suit your needs.
IPTC, EXIF (including GPS), XMP and PDF metadata can be assigned to standard WordPress fields, taxonomy terms and custom fields. You can update all existing attachments from the Settings page IPTC/EXIF tab, groups of existing attachments with a Bulk Action or one existing attachment from the Edit Media/Edit Single Item screen. Twelve hooks provided for complete mapping customization from your theme or plugin code. You can view and/or download this PDF document with more information: Mapping File Metadata to WordPress Fields with Media Library Assistant
Complete control over Post MIME Types, File Upload extensions/MIME Types and file type icon images. Fifty four (54) additional upload types, 112 file type icon images and a searchable list of over 1,500 file extension/MIME type associations.
Enhanced Search Media box. Search can be extended to the name/slug, ALT text and caption fields. The connector between search terms can be “and” or “or”. Search by attachment ID or Parent ID is supported, and you can search on keywords in the taxonomy terms assigned to Media Library items. Works in the Media Manager Modal Window, too.
Complete support for ALL taxonomies, including the standard Categories and Tags, your custom taxonomies and the Assistant’s pre-defined Att. Categories and Att. Tags. You can add taxonomy columns to the Assistant listing, filter on any taxonomy, assign terms and list the attachments for a term.
Taxonomy and custom field support in the ATTACHMENT DETAILS pane of the Media Manager Modal Window and Media/Library Grid view.
Inline “Bulk Edit” and “Quick Edit” areas; update author, parent and custom fields, add, remove or replace taxonomy terms for several attachments at once. Works on the Media/Add New screen as well.
Displays more attachment information such as parent information, file URL and image metadata. Provides many more listing columns (more than 20) to choose from.
Provides additional view filters for MIME types and taxonomies, and features to cmpose custom views of your own.
Works with the popular Admin Columns plugins for even more Media/Assistant screen customization.
The Assistant is designed to work like the standard Media Library pages, so the learning curve is short and gentle. Contextual help is provided on every new screen to highlight new features.
NOTE: Complete documentation is included in the Documentation tab on the Settings/Media Library Assistant admin screen and the drop-down “Help” content in the admin screens. You can find a stand-alone version of the Documentation on my web site: Media Library Assistant Documentation
I do not solicit nor accept personal donations in support of the plugin. WordPress and its global community means a lot to me and I am happy to give something back.
If you find the Media Library Assistant plugin useful and would like to support a great cause, consider a tax-deductible donation to our Chateau Seaview Fund at the ALS Network. Every dollar of the fund goes to make the lives of people with ALS, their families and caregivers easier. Thank you!
Media Library Assistant includes many images drawn (with permission) from the Crystal Project Icons, created by Everaldo Coelho, founder of Yellowicon.
Many thanks to Aurovrata Venet, Il’ya Karastel and Kristian Adolfsson for testing and advising on the multilingual support features!
The MLA example plugins have been developed to illustrate practical applications that use the hooks MLA provides to enhance the admin-mode screens and front-end content produced by the MLA shortcodes. Most of the examples are drawn from topics in the MLA Support Forum.
The Documentation/Example Plugins submenu lets you browse the list of MLA example plugins, install or update them in the Plugins/Installed Plugins area and see which examples you have already installed. To activate, deactivate or delete the plugins you must go to the Plugins/Installed Plugins admin submenu.
The Example plugins submenu lists all of the MLA example plugins and identifies those already in the Installed Plugins area. In the submenu:
Once you have installed an example plugin you can use the WordPress Plugins/Editor submenu to view the source code and (with extreme caution) make small changes to the code. Be very careful if you choose to modify the code! Making changes to active plugins is not recommended. If your changes cause a fatal error, the plugin will be automatically deactivated. It is much safer to download the file(s) or use FTP access to your site to modify the code offline in a more robust HTML/PHP editor.
You can use the “Download” rollover action to download a plugin to your local system. Once you have made your modifications you can copy the plugin to a compressed file (ZIP archive) and then upload it to your server with the Plugins/Add New (Upload Plugin) admin submenu.
If you do make changes to the example plugin code the best practice is to save the modified file(s) under a different name, so your changes won’t be lost in a future update. If you want to retain the file name, consider changing the version number, e.g. adding 100 to the MLA value, so you can more easily identify the plugins you have modified.
Upload media-library-assistant
and its subfolders to your /wp-content/plugins/
directory, OR Visit the Plugins/Add New page and search for “Media Library Assistant”; click “Install Now” to upload it
Activate the plugin through the “Plugins” menu in WordPress
Visit the Settings/Media Library Assistant page to customize taxonomy (e.g., category and tag) support
Visit the Settings/Media Library Assistant Custom Fields and IPTC/EXIF tabs to map metadata to attachment fields
Visit the “Assistant” submenu in the Media admin section
Click the Screen Options link to customize the display
Use the enhanced Edit, Quick Edit and Bulk Edit pages to assign categories and tags
Use the [mla_gallery]
shortcode to add galleries of images, documents and more to your posts and pages
Use the [mla_tag_cloud]
, [mla_term_list]
and [mla_custom_list]
shortcodes to add clickable lists of taxonomy terms and custom field values to your posts and pages
The Media/Assistant submenu table showing the available columns, including "Featured in", "Inserted in", "Att. Categories" and "Att. Tags"; also shows the Quick Edit area.
The Media/Assistant submenu table showing the Bulk Edit area with taxonomy Add, Remove and Replace options; also shows the tags suggestion popup.
A typical edit taxonomy page, showing the "Attachments" column.
The enhanced Edit page showing additional fields, categories and tags.
The Settings page General tab, where you can customize support of Att. Categories, Att. Tags and other taxonomies, where-used reporting and the default sort order.
The Settings page MLA Gallery tab, where you can add custom style and markup templates for [mla_gallery]
shortcode output.
The Settings page IPTC & EXIF Processing Options screen, where you can map image metadata to standard fields (e.g. caption), taxonomy terms and custom fields.
The Settings page Custom Field Processing Options screen, where you can map attachment metadata to custom fields for display in [mla_gallery] shortcodes and as sortable, searchable columns in the Media/Assistant submenu.
The Media Manager popup modal window showing additional filters for date and taxonomy terms. Also shows the enhanced Search Media box and the full-function taxonomy support in the ATTACHMENT DETAILS area.
You can add support for many attachment metadata values such as file size by visiting the Custom Fields tab on the Settings page. There you can define a rule that maps the data to a WordPress custom field and check the “MLA Column” box to make that field a sortable column in the Media/Assistant submenu table. You can also use the field in your [mla_gallery]
shortcodes. For example, this shortcode displays a gallery of the ten largest images in the “general” category, with a custom caption:
[mla_gallery category="general" mla_caption="{+caption+}<br>{+custom:File Size+}" meta_key="File Size" orderby="meta_value" order="DESC" numberposts=10]
The powerful [mla_gallery]
shortcode supports almost all of the query flexibility provided by the WP_Query class. You can find complete documentation in the Settings/Media Library Assistant Documentation tab. A simple example is in the preceding question. Here’s an example that displays PDF documents with Att. Category “fauna” or Att. Tag “animal”:
[mla_gallery post_mime_type="application/pdf" size=icon mla_caption="{+title+}" tax_query="array(array('taxonomy'=>'attachment_category','field'=>'slug','terms'=>'fauna'),array('taxonomy'=>'attachment_tag','field'=>'slug','terms'=>'animal'),'relation'=>'OR')"]
Yes! The [mla_gallery]
shortcode supports all MIME types when you add the post_mime_type parameter to your query. You can build a gallery of your PDF documents, plain text files and other attachments. You can mix images and other MIME types in the same gallery, too. Here’s an example that displays a gallery of PDF documents, using Imagick and Ghostscript to show the first page of each document as a thumbnail:
[mla_gallery post_mime_type=application/pdf post_parent=all link=file mla_viewer=true columns=1 orderby=date order=desc]
No; that’s a structural limitation of the WordPress database. However, you can use Categories, Tags and custom taxonomies to organize your images and associate them with posts and pages in any way you like. The [mla_gallery]
shortcode makes it easy. You can also use the ids=
parameter to compose a gallery from a list of specific images.
Yes! You can activate or deactivate support for Categories and Tags at any time by visiting the Media Library Assistant Settings page.
No! The Assistant supplies pre-defined Att. Categories and Att. Tags; these are WordPress custom taxonomies, with all of the API support that implies. You can activate or deactivate the pre-defined taxonomies at any time by visiting the Media Library Assistant Settings page.
Yes. Any custom taxonomy you register with the Attachment post type will appear in the Assistant UI. Use the Media Library Assistant Settings page to add support for your taxonomies to the Assistant UI.
You can use other gallery-generating shortcodes to give you the data selection power of [mla_gallery] and the formatting/display power of popular alternatives such as the WordPress.com Jetpack Carousel and Tiled Galleries modules. Any shortcode that accepts “ids=” or a similar parameter listing the attachment ID values for the gallery can be used. Here’s an example of a Jetpack Tiled gallery for everything except vegetables:
[mla_gallery attachment_category=vegetable tax_operator="NOT IN" mla_alt_shortcode=gallery type="rectangular"]
Most lightbox plugins use HTML class=
and/or rel=
tags to activate their features. [mla_gallery]
lets you add this tag information to your gallery output. Here’s an example that opens PDF documents in a shadowbox using Easy Fancybox:
[mla_gallery post_mime_type=application/pdf post_parent=all link=file size=icon mla_caption='<a class="fancybox-iframe fancybox-pdf" href={+filelink_url+} target=_blank>{+title+}</a>' mla_link_attributes='class="fancybox-pdf fancybox-iframe"']
In the example, the mla_caption=
parameter turns the document title into a link to the shadowbox display so you can click on the thumbnail image or the caption to activate the display.
This is a known WordPress problem with multiple support tickets already in Trac, e.g.,
Ticket #20708(closed defect (bug): duplicate) Wrong posts count in taxonomy table,
Ticket #14084(assigned defect (bug)) Custom taxonomy count includes draft & trashed posts,
and Ticket #14076(closed defect (bug): duplicate) Misleading post count on taxonomy screen.
For example, if you add Tags support to the Assistant and then assign tag values to your attachments, the “Posts” column in the “Tags” edit screen under the Posts admin section includes attachments in the count. If you click on the number in that column, only posts and pages are displayed. There are similar issues with custom post types and taxonomies (whether you use the Assistant or not). The “Attachments” column in the edit screens added by the Assistant shows the correct count because it works in a different way.
Hover over the item you want to modify and click the “Edit” or “Quick Edit” action. Set the ID portion of the Parent Info field to zero (0), then click “Update” to record your changes. If you change your mind, click “Cancel” to return to the main page without recording any changes. You can also click the “Select” button to bring up a list of posts//pages and select one to be the new parent for the item. The “Set Parent” link in the Media/Assistant submenu table also supports changing the parent and unattaching an item.
Some of the MLA features such as where-used reporting and ALT Text sorting/searching require a lot of database processing. If this is an issue for you, go to the Settings page and adjust the “Where-used database access tuning” settings. For any where-used category you can enable or disable processing. For the “Gallery in” and “MLA Gallery in” you can also choose to update the results on every page load or to cache the results for fifteen minutes between updates. The cache is also flushed automatically when posts, pages or attachments are inserted or updated.
Rest assured, custom templates and all of your option settings persist unchanged whenever you update to a new MLA version.
You can also back a backup of your templates and settings from the Settings/Media Library Assistant General tab. Scroll to the bottom of the page and click “Export ALL Settings” to create a backup file. You can create as many files as you like; they are date and time stamped so you can restore the one you want later.
In addition, you can deactivate and even delete the plugin without losing the settings. They will be there when you reinstall and activate in the future.
You can permanently delete the settings and (optionally) the backup files if you are removing MLA for good. The “Uninstall (Delete)” Plugin Settings section of the General tab enables these options.
Not many, but all of the internationalization work in the plugin source code has been completed and there is a Portable Object Template (.POT) available in the “/languages” directory. I don’t have working knowledge of anything but English, but if you’d like to volunteer to produce a translation, I would be delighted to work with you to make it happen. Have a look at the “MLA Internationalization Guide.pdf” file in the languages directory and get in touch.
All of the MLA source code has been annotated with “DocBlocks”, a special type of comment used by phpDocumentor to generate API documentation. If you’d like a deeper understanding of the code, navigate to the MLA phpDocs web page and have a look. Note that these pages require JavaScript for much of their functionality.
orderby=rml
is used has been mitigated.order=DESC
portion of the SQL orderby clause from shortcode parameters has been corrected.[mla_tag_cloud]
and [mla_term_list]
shortcodes has been mitigated.order=
portion of the SQL orderby clause from shortcode parameters has been corrected.orderby=rml
is propegated to the Media/Assistant pagination controls.[mla_gallery]
shortcode, handling of brace-delimited array values in the ,str_replace(s,r)
format code has been corrected.custom:*
feature that will perform a “Simple Custom Field” query on all custom fields that have values for one or more items.[mla_custom_list]
shortcode has been mitigated.[mla_gallery]
shortcode, a defect in processsing blacklist parameters when using mla_gallery
as an alternate shortcode, i.e., mla_alt_shortcode=yes
, has been corrected.[mla_custom_list]
shortcode, a defect that caused the ids=
and include=
parameters to fail when used together has been corrected.[mla_gallery]
shortcode occurs.[mla_gallery]
shortcode, four new “item-level substitution parameters” provide links, tags and urls for the MIME type icon associated with each gallery item.[mla_gallery]
shortcode, a new value for the “link” parameter, “link=original”, provides access to the original image for scaled items.[mla_custom_list]
shortcode has been mitigated.mla_link_attributes
and mla_image_attributes
parameters.[mla_gallery]
shortcode, some PHP 8.2 “Deprecated” warnings have been eliminated.[mla_term_list]
shortcode, a defect that caused the child_of=
parameter to fail has been corrected.class-mla_objects.php
file, a PHP 8.2 “Deprecated” message has been eliminated.mla-define-ajaxurl-scripts.js
file, console messages reflecting harmless error conditions have been disabled.mla_list_table_begin_bulk_action
filter has been added to the Media/Assistant Download bulk action handler.[mla_custom_list]
, lets you display custom field values in a variety of cloud, list, dropdown and checklist formats for use with the [mla_gallery]
simple custom field query parameters.[mla_term_list]
and [mla_tag_cloud]
shortcodes is now loaded only when needed, reducing the load time and memory required for the [mla_gallery]
shortcode.mla_link_attributes
and mla_image_attributes
and HTML in mla_link_text
shortcode parameters has been corrected.[mla_gallery]
, MLA Insert Fixit improvements, [mla_gallery]
simple date parameters, “Mine” filter/view. Four enhancements in all, twelve fixes.[mla_gallery]
and Media Manager Modal Window. Seven enhancements in all, eleven fixes.[mla_gallery]
, corrects v2.63 problem that applied mla_named_transfer
to all link=file
and link=download
galleries.xdebug_get_function_stack()
causing fatal PHP error.[mla_gallery]
display. Seven enhancements in all, six fixes.[mla_gallery]
style and markup templates. Five other fixes.[mla_gallery]
support for custom fields, taxonomy terms and IPTC/EXIF metadata. Updated for WordPress 3.5![mla_gallery]
parameters “mla_itemwidth” and “mla_margin” for control of gallery item spacing. Quick edit support of WordPress standard Categories taxonomy has been fixed.[mla_gallery]
shortcode output. Eight other enhancements and four fixes.[gallery]
and [mla_gallery]
shortcodes. Two other enhancements and two fixes.[mla_gallery]
shortcode, a superset of the [gallery]
shortcode that provides many enhancements. These include taxonomy support and all post_mime_type values (not just images). Media Library items need not be “attached” to the post.