Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Magic Fields


Please consider a donation, I spend part of my free time programming in Magic Fields. Help this proyect


Magic Fields is a feature rich WordPress CMS plugin that focuses on easy templating for the developer and simplifies content management for the admin by creating custom write panels that can be fully customized (radio buttons, file uploads, image uploads, checkboxes, etc).


Follow the following steps to install this plugin.

  1. Download plugin to the /wp-content/plugins/ folder.
  2. Activate the plugin through the 'Plugins' menu in WordPress.



  • change wp_load_image for wp_get_image_editor
  • clean $_GET and $_POST
  • fix "Authentication failed" message when the user it is not greater than contribuitor level
  • fix warning in install and remove plugin


  • add nonce in forms, thanks Burak Kelebek for the report
  • change if ( !wp_verify_nonce(..... for check_admin_referer


  • remove markitup pack and replace with the complete js. remove markdown Preview and replace the preview with the default template
  • get image media info call now uses wp ajax
  • add $wpdb->prepare in $wpdb->get_row, $wpdb->get_col, $wpdb->get_var, $wpdb->get_results, $wpdb->query
  • Duplicate (field and group) calls now uses wp ajax
  • Remove file of old get file
  • Get file now use wp ajax
  • Change remove file for file field and audio field for work the same way the image field


  • Clean debug console.log
  • Change capabilities for user can upload files, review get file action
  • Add extension for validation in upload


  • Add support search in postmeta for MF fields
  • Add support for gpx in upload field, fixes for upload iframe
  • Change text domain for localization ( )


  • fix problem with js inline on dashboard for write panels
  • fix in dropdown values with some characters for edit page


  • fix problem with js inline on dashboard for write panels
  • fix in dropdown values with some characters for edit page


  • fix for change_title_manage, the wp layout change
  • remove a lot warnigs for static methods


  • fix alert when update post


  • fix issue visual editor (WP 3.9)
  • fix issue drag and drop multiline


  • fix issue image media (WP 3.6)


  • Update ui.datepicker.js
  • fix Warning in php 5.4 (Empty Object Issue)
  • update markdownPReview, clean javascript data


  • Update the Datepicker Plugin
  • fixes for WordPress 3.5 new media uploader conflict
  • Corrected the removal of data from the mf_post_meta table on deletion (@doublesharp)
  • use variable for postmeta table in case it doesn't have the standard (@doublesharp)
  • fixed: split deprecated in php 5.3
  • And much more bugfixes


  • Add jquery.stringToSlug.min.js file


  • Fixed problems with WP 3.3.x
  • Fixed problems with multiline field
  • more fixes


  • Fix in aux_image function


  • problem with svn version


  • Fixed problems with WP 3.2
  • add action for mf_before_delete_file, mf_after_upload_file, mf_before_generate_thumb, mf_save_thumb_file
  • Fixed problems with menus write panels
  • Little fix for the WPML compatibility
  • Fix menu (add_utility_page)


  • Security bug fixed related with the uploader


  • Added more file formats as requested by mrhughes (thanks!) for the file uploader
  • Fixed the label for fields in the group view (was saying Group Name / Field Label) whereas it is now just Label
  • Fix for AjaxUploader PHP4 issue
  • Added a option for switch between the traditional file uploader and the ajax uploader
  • resolved bug with the internal links in wp 3.1
  • added new slider.js for wp 3.1
  • Rewrote query for display the lsit of posts/pages in the Manage page (this improve a lot the performace)
  • Added options to create image using native wordpress 'size' (Thanks to bigfive) bigfive@e05275905c26ab4ba096fce3e0639877ffa78f8c
  • Fixed many warnings and notices in the whole plugin
  • Fixed a few bugs related with the multiline field
  • Added media buttons at the multiline fields
  • Added option for not remove the br and p tags in the change between visual/html in the multiline field
  • Fix in how are saved the categories, for fix issue in wpmu
  • Changed the engine for export write panels (thanks to Jarl for this)
  • Removed deprecated functions (like esc_attr)
  • Added Categories option for the Related Type Field thanks Clément Bongibault


  • add slider script, sorry


  • Fixed a bug with internal links for WP 3.1 (update jquery validate).
  • Fixed a bug with slider in WP 3.1
  • add jpeg format in phpthumb.php
  • add option for non-ajax upload and bugfixes in uploader


  • Reinstated the insert media buttons in the Multiline text field type. This problem was due to the fact that the init call to TinyMCE was changed so that Magic Fields Visual Editors can now honour any other plug-ins installed. Since the media buttons aren't rendered within the visual editor area for the content block (they sit separately above the TinyMCE control), Magic Fields was now missing them also.
  • Upload limit for the Ajax uploader has been increased to 10GB to get around problems some people are having.
  • Fixed some spacing issues with duplicate fields.
  • Enhanced the focused field highlight to make the current field stand out better. It's now a subtle shade of blue, with the input having a stronger blue border
  • Fixed the focus state slightly, to use the :focus pseudo selector, as some field types have multiple controls.
  • Fixed an issue where the lowest auto-expanded field would receive focus
  • Removed the Exception throw statement to hopefully address issues with Upload failures with the new uploader.
  • Restored the delete link for field groups
  • Made the entire toolbox (footer) for each field group item draggable, rather than just the grip nub.
  • Fixed a bug with resizing the TinyMCE control in the multiline editor. Fullscreen mode should also now work correctly.
  • Fixed an issue with focusing when using "Expand All" links.


  • Fixed critical bug in Multisite version and a few more fixes


  • Related Field Types: Extra selections are now available ‘All Posts AND Pages’ and ‘All Posts AND Pages with Write Panel’.
  • Added extra CSS class to Write Panel main menus, based on the sanitized write panel name. E.g. the Menu item for panel named ‘Home Page’ will get the extra class ‘mf-menu-home-page’. Ths allows alternative menu images to be attached to the write panel. Currently this is only possible by having an admin CSS file added through a WordPress ‘admin_head’ filter function in your functions.php
  • Added caching feature to support mostly used functions like get() and get_group();
  • Count down feature for inputs and textareas showing characters left in twitter style.
  • Now displaying Categories in hierarchy in the Write Pannel.
  • Issue 34 fixed
  • Issue 53 Fixed
  • Issue 50 Fixed
  • Issue 57 Fixed
  • Issue 65 Fixed
  • New way to sort the order of the fields in the write panel
  • New Template API Functions: gen_image_for, get_group_with_options,get_group_with_prefix,get_flat_group,get_flat_group_with_prefix
  • gen_image_for: Gets a generated image for a field value that’s already known, as is the case for values from the “get_group” function.
  • get_group_with_options: a function that allows certain options to be passed in to make front end code a bit cleaner. Refer to code comments for more details.
  • Added 'Name (order)' column to the grid, which displays the code-friendly name of the field followed by the field order number in brackets
  • revamped the entire ui for add posts in the write panels
  • When CREATING a field, Magic Fields now suggests an appropriate name for the field after the label is entered or changes. This is based on removing all special characters, converting to lowercase, and converting spaces to underscores. Also, if the field is part of a group, the (singularized) group name is appended to the beginning, which ensures it is unique across the set of fields. For example, if we have a group named ”Image Assets” and label a new field “File”, Magic Fields will suggest the field name should be “image_asset_file”.
  • When CHANGING a field, magic fields can suggest a field name based on the rules above by clicking the "suggest" button.
  • Tidied up the user interface for (expanded) magic fields groups, which now includes nicer bevels for field groups, better spacing, and nicer icons from the Fugue collection by Yusuke Kamiyamane ( )
  • The terminology for “Duplicating” magic fields groups has been changed to ”Add Another [Item]“, or “Remove [Item]“.
  • Collapsible fields feature, where magic fields groups are collapsed down into a compact read-only group summary. Clicking group summaries will expand the group for editing. By default, any field groups and data that already exist will be loaded as a summary, meaning that pages and posts edit screens are generally MUCH shorter than before. This also makes it far easier to re-order items within each group, since the group summaries are always only about 150 pixels high.
  • Group summaries make use of the jScrollPane plug-in from Kevin Luck ( ) to provide a much neater horizontal scrollbar for long group summaries. These are much smaller and tidier than the native OS widgets.
  • A new “Magic Fields” attributes panel is now available that allows you to change the write panel for a given page/post.
  • Added an alternative AJAX file uploader that supports drag and drop, adds an ajax progress spinner, and provides a more consistent file upload UI across all browsers based on Valum’s AJAX uploader ( ). This uploader also improves performance DRAMATICALLY for large numbers of fields, since it does not use an iframe for every file-based field.
  • AJAX Uploader no longer adds a timestamp prefix to uploaded files, instead saving the file to the server as a lowercase sanitized version of the original file name.
  • Enhanced the layout of file upload controls, audio controls, image controls for the new uploader.
  • TinyMCE initilisation has been deferred until the user expands a group summary, to improve load performance.
  • Enhanced the form validation routines to be more robust, and work correctly with the group summaries. Any fields with errors will have their group summary expanded automatically so that the user can see the errors. Also added a little warning box inside the “Publish” panel when there are validation errors so that it’s easier to see that fields are missing (since they might be scrolled out of view at the bottom).
  • Added a much improved color picker by Stefan Petre ( ) which uses a Photoshop-style color picker allowing you to select many more colors than before. This has been slightly customised to work better in the context of magic fields.
  • Added a “loading data” spinner for the initial load of a group summary.



  • fixed issue with Multiline text fields when the visual editor is turned off.
  • Adding a little fix in the "condense" menu mode
  • Fixed issue in the generate image.


  • Magic Fields works fine with  the next release of Wordpress (v3.0)
  • Was removed phpthumb, and was added a specific functions for make the same things to phpthumb would do, this means to magic fields is now 7000 lines more lightweight
  • Was added a new type of field (markdown text field)
  • Prototype framework is not used anymore, now magic fields only use  jquery
  • Implemented new shortcodes for use the content of the magic fields inside of a post
  • Magic Fields now is avalaible in spanish and was added the .po and .mo files for translate MF in more languages.
  • Was integrated the changes made by the "store lives plugin" for magic fields works well with  "living stories"
  • was added a new option for delete the cache of the images  (for avoid overweight in the cache folder)
  • Was added a new function called get_clean this function doesn't apply any filter of "the content" onto  the multiline field.
  • Was removed Edit in place feature,  this feature cause more troubles than benefits
  • Adding a new boton "html" in the multiline custom field.
  • new engine for remove  the physical files when a file is removed in a write panel
  • magic fields don't send anymore trash to the wordpress multimedia content
  • Now the order in the  groups works well,
  • new way to assign categories onto the write panels (for wordpress 3.0 compatibility)
  • now magic fields works well when the wp-config.php file is located outside (up one level) from the wordpress root directory
  • Little fixes in the  in the export write panel function
  • Now the button "add new" inside of the manage page into a write panel point into the correct place (before the reference of the write panel was lost)


  • New field Type: Related Type (thanks to Wouter de Winter for this)
  • Fix in the Image Custom Field
  • Now the empty groups don't be displayed in the post page
  • Fix in the multiline box.
  • Removing a lot of obsolete and unused code
  • Adding a dropdown with years in the datepicker's calendar for choice a year more easily
  • Adding a option for choice the parent page in the write panels type page
  • Removing jquery1.2 and the jquery-ui, now Magic Fields use only the wordpress version of jquery
  • Adding multimedia buttons in the multiline editor, now is easy add images and files in this field
  • Fix a little bug in the date field
  • fix in get_field_duplicate and get_group (not return more empty fields)
  • Adding support i18n


  • Fix in the GetDataField function, this function is used by all front-end functions


  • Now the cache of phpthumb and the mf files get stored in a single place (Jeff Minard)
  • Adding get_panel_name function
  • adding one param in get_image for allows template writers to override the default phpthumb params to be set on the fly
  • New design in the image input area for be more space efficient (Jeff Minard)
  • Fix bug in the admin, before the info was stored twice
  • Added a new functions for get the data in the frontend, big improvement of performance with this new functions
  • Added the option "hide non-standart content in Post Panel" (more info here:
  • Added a real validations for the image and audio custom field, now is checked the mime type for avoid any dangerous file
  • Adding "Condense Menu" Option (thanks to doc4
  • Removing the inline CSS in the EIP feature (Carlos Mendoza)
  • add new tooltip feature for the custom fields (Carlos Mendoza)
  • Fix in the getGroupOrder function
  • adding get_field_duplicate function for get all the values of one duplicate custom field
  • now all the project has hardtabs with the size of 4 spaces
  • gen_image function generate a new image with new params of the phpthumbs and attr of the tag image the first time to is executed
  • fix in the "editing prompt" option
  • add css for menus of magic fields (write panels) (Jeff Minard)
  • Tested up to: Wordpress 2.8.5
  • Change the max value for the "order display" value for the custom fields and write panels

###1.1 ###

  • Remove a bunch of obsolete files and Code.
  • Fix bug #172 of flutter's tracker ( thanks to Pixelate.
  • Fix issue related with the Listbox field type.
  • 30% less queries in the functions of front-end [get, get_image, get_audio]
  • Fix bug #185 of flutter's tracker (
  • Fix bug #201 of flutter's tracker (
  • Fix of some paths for works fine at windows server.
  • Adding a new function called get_image ( more info about how use it, soon)
  • Removing all the short-tags of php.
  • Now is used the jquery ui datepicker for the Date custom field.
  • Now you can use get_image, get_audio, and gen_image outside of the loop. ( more info soon )
  • Fix some issues related with the import/export of writepanels.
  • Fix the uninstall process.
  • Little fix in the Edit In Place editor.
  • Fix in Assign Custom Write panel.