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.

Magic Fields 2 Toolkit


This plugin is no longer being actively developed. This means no new features will be added to this plugin.
Moreover, I no longer use this plugin and will not know of a problem unless a user reports it.
However, I remain absolutely committed to maintaining the existing feature set of this plugin and if a problem is reported I will do my very best to fix it.
You can report problems using the support page of this plugin.

This toolkit transforms the Magic Fields 2 plugin into something that can be used by a non programmer to do media oriented CMS web design.
With this toolkit you can design your page content using only HTML, CSS and the toolkit’s shortcodes.
Using the toolkit’s content templates you can define a reusable template for page contents which can be used to create multiple pages using the page’s custom fields to instantiate the template.
This toolkit also simplifies the use of media (images, audio, video and embeds) by providing configurable shortcodes for generating responsive HTML wrappers for these media elements.

The current features are:

Support for coding HTML templates without the need for PHP programming

Additional custom fields

Search widget

Miscellaneous enhancements to Magic Fields 2

  • Create a copy of a Magic Fields 2 custom post copying all of the Magic Fields’ custom fields, groups and taxonomies.
  • Identify and delete unreferenced files in folder files_mf.
  • Provides an alternative get_audio function that outputs HTML5 audio elements for iPad and iPhone browsers.
  • Provides some Magic Fields 2 utility functions for PHP programmers.

Please visit the Toolkit’s online documentation for more details.
This plugin works with Magic Fields 2.3 and requires at least PHP 5.4.


  1. Upload the Magic Fields 2 Toolkit folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Open ‘Settings->Magic Fields 2 Toolkit’ menu item and enable specific features – all features are not enabled by default.
  4. To copy a custom post open the “All Your Custom Post Type” menu item and click on “Create Copy” for the entry of the desired post.
  5. To use shortcodes please see the online documentation.
  6. To use content templates please see the online documentation.
  7. Other features are self-explanatory.
  8. The most current documentation is available at Toolkit’s online documentation.


Does this plugin require Magic Fields 2 to be installed?

Yes, this plugin is designed to work with Magic Fields 2 custom fields which have a non-standard implementation.

I have installed the plugin without errors but the plugin does nothing.

You must enable specific features – all features are not enabled by default. Open ‘Settings->Magic Fields 2 Toolkit’ menu item and select the features you want.

After upgrading to version 0.4.6 the search results table of post is not sortable.

Version 0.4.6 has a new default content macro for sortable tables. However, the toolkit will not automatically replace an existing content macro – because you may have customized it. However, you can restore the default content macro by completely erasing the content macro definition.


September 3, 2016
The home page of this plugin is hosted at Some time after Aug 23, 2015 changed the post processing that it applies to sanitize the HTML before saving. The new algorithm began ignoring some of my HTML escape characters and saving escaped HTML as valid HTML. This has broken many of my examples which by necessity contain HTML. I cannot even restore to an earlier good version since the new post processing is still applied and again ignores the same HTML escape characters and re-mangles the earlier good version into the same mess. For the present it seems it is impossible to restore that site. If you need any help at all please contact me at I absolutely respond to every request in reasonable time so it will not be a waste of your time. Since, I only have access to the mangled good earlier versions it seems the whole site may need to be rewritten and moved to another web host. As this plugin only has 30+ users according to I think it is easier to support those users individually than to rewrite and move this entire site. Of course this means I will have to stop development of this plugin as there will be no way to document new features but there were only a small number of additional features I had planned anyway.
Read all 3 reviews

Contributors & Developers

“Magic Fields 2 Toolkit” is open source software. The following people have contributed to this plugin.



  • End of active development notice

  • rewrote database access routines of utilities functions to improve security and efficiency


  • support configurable jQuery UI themes for the mt_tabs shortcode


  • alt_image, alt_video, and alt_audio fields now accept width in percentage (not just pixels) which is more appropriate for responsive design
  • more code re-written to fix bugs, improve security and improve software quality


  • code rewritten to fix bugs, improve security, improve software quality and support localization


  • Fixes for WordPress 4.3
  • Added a mt_show_tabs shortcode for displaying a list of [show_macro] shortcodes in jQuery UI tabs
  • mt_show_gallery shortcode for alt_images fields now support mouse-over popups and clickable links
  • Code for shortcode [mt_field] rewritten to improve software quality


  • The post content template interpreter has been redesigned and rewritten.
  • Video and audio media now support mouse-over popups and clickable links where applicable.
  • Css for media elements and the search widget improved to be compatible with more themes.
  • Added a sync button to synchronize Magic Fields 2 fields with the current toolkit fields to fix the annoying bug where the toolkit stops working after you upgrade Magic Fields 2;
  • Filters moved to the namespace mf2tk to reduce global namespace pollution.
  • All shortcodes are now rename-able for consistency and conflict resolution.
  • Some code rewritten to improve software quality.

  • alt_image_field, alt_video_field, alt_audio_field, alt_embed_field and alt_numeric parameters e.g., width, height, … can now be overridden by using corresponding show_custom_field parameters
  • alt_image_field, alt_video_field, alt_audio_field and alt_embed_field now have a simplified how to use interface
  • fix css alignment problems with media elements, in particular removed the bottom margin from media elements to reduce the space between media and caption
  • rewrite code to improve speed, stability, security and software quality – use namespaces to reduce global pollution, gracefully handle missing parameters, use $wpdb->prepare(), …

  • fix the really annoying bug where the should be optional mouseover overlay had to be specified

  • alt media fields now support showing popups on mouseover
  • fix problemwith Magic Fields get_data function by replacing with function alt_get_data


  • added interactive shell for evaluating shortcodes so that you can quickly see the HTML generated by shortcode processing

  • variable assignments now support filters
  • if statement now supports an equality condition
  • added filters to return field name and field type


  • support assigning custom field values to content template variables
  • modify content template conditional inclusion to require both definition and truthy
  • support iteration for content template variables


  • content templates now support a post iterator
  • fix bugs with the alt_video field type


  • content templates now support iterators for group and field indexes


  • added a gallery shortcode for “image media” and “alt_image” fields
  • “how to use” now works for duplicated fields


  • added support for post type specific search result templates


  • added a URL field
  • alt_image now has onclick URL property
  • added how to use boxes for taxonomies
  • inserting content templates can now be done directly from the post content editor – alt_template pseudo field is not necessary
  • alt_table field now saves its settings


  • save post content as a content template(content macro)
  • psuedo field to generate the shortcode to use a content template(content macro)

  • fix some css problems on Firefox and some anomalies with the video shortcode on Firefox

  • removed some debugging code


  • make shortcodes easier to use by automatically generating a bespoke shortcode for each Magic Field
  • added a pseudo field that automatically generates a shortcode for table of Magic Fields names and values
  • added a numeric field type with a measurement unit suffix and/or currency symbol prefix
  • make the video, audio, embed and image field types more user friendly and correct anomalies in the generated HTML elements
  • bug fixes, prettify admin settings interface

  • bug fixes, prettify user interface and code maintenance

  • fix drag and drop problem on search widgets administrator’s interface for older versions of Internet Explorer
  • added style sheet for the search widget
  • several small enhancements and bug fixes for the search widget

  • no changes; just synced readme and plugin version numbers

  • upgrade a utility file to current version


  • The search results table of posts is now a sortable table. Note that this requires a manual upgrade of search widget’s content macro.

  • fix pagination bug for search results output
  • added psuedo file __post_author
  • added search by post author
  • added support for post type specific css file for alternate search result output
  • omit select post type if there is only one post type

  • was the wrong version

  • optionally display seach results using a content macro
  • supports drag and drop to change order of search fields
  • for searches optionally set query type to is_search so only excerpts are displayed for applicable themes
  • provides a field for WordPress’s embed shortcode.
  • rovides a field for WordPress’s video and audio shortcodes.

fix error in macro definition

fix a bad uri.

corrected version number errors again.

corrected version number errors.

corrected errors in this readme.


  • show_custom_fields now can iterate over a list of posts making a table of data from multiple posts easy to do
  • macro shortcode now understands inline macros so you do not have to create a content macro post
  • macro conditionals can now have a #else# block
  • macros can now have default arguments
  • added psuedo field __post_title


  • ordering fields first by group index then by field name
  • excluding fields by class name, e.g. -alpha means exclude fields of class alpha
  • injecting the class name into field prefixes and suffixes using the html comment <!–$class–>
  • a psuedo parent field __parent so that the parent post can be referenced in a recursion
  • wildcarding the group name, e.g. _<,> is now valid
  • a special group member field mf2tk_key which will specify the group index as text and whose class is the group class
  • indexing groups by name instead of integers using the value of the mf2tk_key, e.g. alpha_beta<gamma,> instead of alpha_beta<1,>
  • classes for groups using the class of the mf2tk_key which can be used to include/exclude groups
  • group_before/group_after with replacement of html comments <!–$Group–>, <!–$class–>, <!–$group–>
  • changed search from using the multiple select html element to multiple select html checkboxes


  • Added new features: macros for post content, an alternative dropdown field, an alternative HTML5 compatible get_audio() function and utility functions.
  • Enhanced the shortcode feature with more parameters and the search feature with configurable parameters.


  • Minor correction to 0.3


  • Added a search widget for Magic Fields.
  • Added an alternative textbox field that allows you to select previously entered data.


  • Added an alternative related type field which uses multiple selection checkboxes instead of a single selection dropdown.
  • Enhanced shortcodes to make it easier to display a table of field names and their values.


  • Initial release with custom post copy and custom field shortcode features.