Plugin Directory

Test out the new Plugin Directory and let us know what you think.

My Content Management

Creates common custom post types for advanced content management: FAQ, Testimonials, people (staff, contributors, etc.), and others!


  • Feature: repeatable field groups [todo]
  • Feature: Add user and post template tags to pick up data from related posts/users [todo]
  • Feature: Add event post type to integrate with My Tickets.


  • Bug fix: mis-named variable prevented attaching the same custom fieldset to multiple post types


  • Add support for selective refresh in customizer
  • Only show custom template fields if 'custom' set as template model
  • Bug fix: widget needs to remember selected custom wrapper
  • Bug fix: fix custom widget templates in custom post list (were being ignored)
  • Bug fix: fix custom widget template in custom post data panel (translated entities in admin textarea)


  • Bug fix: incorrect capability type comparison
  • Bug fix: Support for underscore character in email scrambling
  • Bug fix: avoid possible error if invalid ID passed to shortcode


  • Bug fix: PHP Notice if using custom template in custom post data widget
  • Bug fix: Fix for file upload fields being reset if no data uploaded.


  • Bug fix: Chooser input types with parameters returned link; returned URL without. Now return link only if 'size' parameter defined.
  • Bug fix: Issue with duplicate values on repeatable fields.
  • Bug fix: Avoid output if chooser value not set. props @NotDifficult
  • Documentation: Add support for template tag attributes to editor. props @NotDifficult
  • Feature: Ability to limit custom fieldsets from appearing only on specific posts.
  • Feature: Ability to set default location of fieldset
  • Feature: Add 'format' attribute to format date input values.
  • Feature: Custom post data widget; show field values for a specific post/fieldset in a widget in list, table or custom format.
  • UI change: Use checkboxes instead of multiselect to display field options.
  • Filter: 'mcm_show_administration_pages' to disable all access to admin pages.


  • Mis-named variable in 1.4.19 broke some templates.


  • Feature: Save post meta in revisions when revisioning enabled for post type.
  • Bug fix: fallback template, if no valid template set, should just show post content, not default Full template.
  • Bug fix: Update class constructors to PHP 5 syntax.
  • Bug fix: Improved textdomain loading.
  • Made revisions supported by default for new installations.
  • Dropped support for WP 3.7 - 3.9


  • Fix to issues with [my_archive] shortcode.
  • Add option to disable post filters in [my_content] and [my_archive] shortcode. (Attribute: post_filters=true).
  • Disabled post filters by default in [my_archive] shortcode for major speed increase.


  • Bug fix: broken posts widget in 1.4.16; change in major function arguments not applied in widget.


  • Updated translation: French
  • Added size-specific classes to templated images
  • Bug fix: properly escape attributes in select dropdowns generated in custom field manager.
  • Bug fix: sort post relations by post title.
  • Bug fix: Could not set empty value for post relations.
  • New filter: 'mcm_post_relations' to alter argument values for list of posts.
  • New feature: related user to relate a user ID to a post.
  • Rewrite major function arguments to use arrays instead of individual variables.
  • Add filter to before arguments passed to WP_Query 'mcm_pre_query_args'.
  • Changed related users and related posts to autocomplete fields to better handle large data sets.


  • Deleted obsolete function
  • Fixed various PHP notices
  • Feature: related posts input field


  • Bug fix: PHP notice with date formatting
  • Bug fix: Fieldsets with only one custom field were deleted without warning on edit.
  • Added: German & Punjabi partial translations


  • Bug fix: Date format bug if value not a timestamp
  • Bug fix: date format bug if date field is repeatable


  • Filter: filter value of submitted post data with 'mcm_filter_saved_data'
  • Filter: filter value of output post data with 'mcm_filter_output_data'
  • Feature: when using HTML5 date fields, date is saved as a timestamp, allowing sorting by custom dates.
  • Bug fix: use reply-to header in support messages
  • Bug fix: When editing fieldsets with only 2 fields, possible to inadvertently delete fieldset.
  • Bug fix: Support form textdomains cannot be passed as variables
  • Translation: Irish updated.


  • Bug fix: You know that bug "fixed" in 1.4.10? It's actually in this release.


  • Bug fix: variable assignment instead of comparison in widget templating.


  • Added {slug} template tag.
  • Added filter to target custom field sets to specific posts or sets of posts.
  • Support any custom post type in search form
  • Support any custom post type in custom post list widget
  • Add custom template in widgets (required for non-MCM custom post types)
  • Bug fix: My Content Management conflicted with Advanced Custom Fields.


  • Bug fix: type checking to use current post type's preferred template overrode custom template settings.


  • New filter: use mcm_archive_taxonomies to filter arguments for get_terms in archive shortcode.
  • Corrected some textdomain issues
  • Bug fix: PHP notice unassigned value in media uploader.
  • Bug fix: PHP notice undefined array key
  • Bug fix: Not possible to remove media selected in chooser if field is not repeatable.
  • Bug fix: URL missing in preview text string.
  • Bug fix: When displaying multiple content types in a single shortcode, picks up appropriate templates for each different type of content.
  • Bug fix: Incorrect sprintf arguments for scheduled posts notice.
  • Bug fix: Resolve outstanding issue with menu position collisions.
  • Deprecated support for WP 3.2 and WP 3.3.
  • Minor UI change.
  • Add French translation.


  • Bug fix: Missing arguments in term list shortcode.
  • Bug fix: with repeatable fields, mcm_get_custom_field display incorrectly placed before/after.


  • Bug fix: media chooser erased data when used as a non-repeatable field.


  • Bug fix: Eliminated some PHP notices.
  • Bug fix: Fixed non-assignment of custom fieldset bug.
  • Bug fix: Some issues with quotes in fieldset names.
  • Bug fix: missing stripslashes in form output.


  • 12/16/2013
  • Bug fix: Don't return wrapper divs and classes if no content.
  • Bug fix: formatting and HTML for default templates of new post types.
  • Bug fix: Display of saved information in post meta forms for select fields.
  • Bug fix: CSS - display of checkboxes in settings.
  • Bug fix: Fixed some miscellaneous odd behaviors when saving or updating custom field sets.
  • Bug fix: Some improper handling of arrays for custom fields. May impact custom templating.
  • Bug fix: Simple templates returned only attachment ID for attachment fields.
  • Bug fix: Widget sort order did not work.


  • Add shortcode to produce list of term category links. [my_terms taxonomy='' show_count='true/false' hide_empty='true/false']
  • Bug fix in HTML file uploader (removed uploads on edit.)


  • Bug fix: ran wpautop on plaintext elements.


  • Bug fix: custom post type search widget; could not select post type.
  • Bug fix: if all "supports" options were disabled, could not later select options.
  • Bug fix: automatically truncate post type names to max 20 characters, as required by WP.
  • Minor rewrite of custom meta saving process.
  • New template tag attribute: fallback (all template tags; set fallback content if field not supplied.)
  • New template tag attribute: size (chooser template tags; image size keyword)
  • Revised template tag replacement function.
  • Added fallback content parameter to mcm_custom_field function.
  • If taxonomy not specified, fall back to MCM created taxonomy when generating terms.
  • Add support for post_tag taxonomy on all MCM created post types.
  • Added media chooser option for input.
  • Added rich text editor option for input.
  • Added filter 'mcm_filter_editor_args' to customize arguments for rich text editor
  • Automatically refresh permalinks.
  • Minor UI Changes.
  • Performance improvements.


  • Bug fix: custom field values improperly escaped when editing posts.
  • Bug fix: missing mimetype for uploaded files
  • New feature: change the display order of custom fields when editing.
  • New feature: support for all defined featured image sizes.
  • New feature: support for passing GET variables to shortcodes.
  • New language: Dutch.


  • New feature: Added file uploads option to custom field options.
  • Bug fix: function mcm_custom_field() did not exist.
  • Assorted bug fixes, courtesy Juliette
  • Bug fix: Upgrade bug that could wipe out custom fieldsets. Yikes!
  • Bug fix: Empty custom fields returned template tags instead of blank fields.
  • Removed Glossary Filter plug-in so that plug-in can be maintained independently.


  • Bug fix: hyphens not correctly rendered in email munging.


  • Better exposure for custom field keys with added custom fields.
  • Fixed bug in display of custom field keys on MCM settings page with modified storage system.
  • Fixed bug: before and after variables should not be required for mcm_custom_field() function.


  • Added shortcode option to disable numbers in Glossary filters [Courtesy Bernhard Reiter]
  • Added edit post link template tag [Courtesy Bernhard Reiter]
  • Fixed a couple PHP notices
  • Major update: Added management for custom field groups (Create, Edit, Assign)
  • Languages: Added Irish translation.


  • Bug fix: if no custom post types were enabled, 'full' template was rendered on all singular posts/pages.
  • Bug fix: embed filter did not run in custom post type templates


  • Bug fix: Widget category limits did not work.
  • Bug fix: Widget saving of template type did not work.


  • Bug fix: could not enable 'hierarchical' without disabling 'publicly_queryable'
  • Bug fix: New post types display default templates instead of blank.
  • Change: Edit button indicates what is being edited
  • Change: add new form only visible on demand
  • Added: support for has_archive in post type.
  • Added option to delete custom post types.
  • Performance improvement in template interpreter


  • Added options for limiting by year, month, week, and day to shortcode.
  • Added ability to edit the URL slug used by each custom post type.
  • Added limiting by category to widget.
  • Added automatic filtering of custom post types single-post view to use Full template as defined in back-end.
  • Fixed a variety of minor bugs.


  • Resolved bug with empty custom fields not resulting in replaced template tags.
  • Added missing email address filter


  • Released 5/17/2012
  • Adjusted glossary filter to only link the first two instances of a glossary term on a given page.
  • Added 'include' filter for My Archive shortcode.
  • Added 'operator' option for Terms (values: in term, not in term, in all terms)
  • Adjusted taxonomy and post-type checks to more easily handle types/taxonomies not created by MCM
  • Bug fix: shortcut taxonomy post types not recognized.
  • Fixed installation error which did not create default custom post types.
  • Fixed bug in glosssary plug-in which filtered out content if Glossary post type not enabled.


  • Released 5/7/2012
  • Added option to add navigation links to My Archive view
  • Added additional filter: mcm_filter_post.
  • Added custom variable attribute to shortcode for use in filters.
  • Added custom wrapper attribute for use with custom templates.
  • Forces theme support for post thumbnails to avoid some errors in themes without.
  • Bug fix in template tag attributes.


  • Released 4/7/2012
  • Bug fix: missing argument in widget view function.
  • Bug fix: Didn't actually add the Spanish translation.


  • Released 4/2/2012
  • Added title as an option for widgets.
  • Added 'cache' attribute to shortcodes.
  • Added support for showing lists incorporating multiple post types.
  • Added editor for post type settings.
  • Added ability to add new custom post type.
  • Added save notices.
  • Added support for two custom attributes in template tags: "before" and "after".
  • Added Spanish translation.
  • Bug fix: issue with archive shortcode using term name instead of slug.
  • Bug fix: default value for My Content display mode was an invalid value.


  • Released 2/23/2012
  • Made arguments for mcm_content_filter more generic for broader use.
  • Fixed bug where Glossary Filters threw error if Glossary extension was enabled without the Glossary post type.
  • Fixed missing arguments in Custom Post List widget
  • Added display type (list, excerpt, full) selection to Custom Post List widget
  • Added number to display option to Custom Post List widget
  • Added ordering selector to Custom Post List widget
  • Added order direction selector to Custom Post List widget
  • Fixed bug where sidebar widget picked up title value for currently active Post object.


  • Fixes a bug where the glossary filter always triggered an admin notice, due to file inclusion order.


  • Added supplemental plug-in to provide a glossary filter for content and an alphabet anchor list for glossaries.
  • Glossary post type has option to include headings to correspond to alphabet anchor list.
  • Added shortcode to display archive of entire custom taxonomy organized by term.
  • Added option to use My Content Management shortcodes with any post type, not just those created by My Content Management
  • Added generic additional post type called 'Resources'
  • Added ability to use a custom template with a given shortcode.
  • Bug fix: Template manager didn't appear immediately when enabling first custom post type
  • Bug fix: Errors if disabling all custom post types
  • Bug fix: Template manager sometimes showed custom fields not related to the current custom post type.
  • Bug fix: Upgrade routine could delete customized templates.
  • Bug fix: Support/donate/plug-in links weren't clickable.


  • Whoops! All apologies for 1.0.5. I made it worse. Too much of a hurry.


  • Variable naming error in 1.0.4 caused problem in list wrapper output.


  • Would you believe that I left out the ability to change the sort direction? Ridiculous.
  • List wrapper was wrapped around items instead of lists.
  • Setting list or item wrappers to 'none' left empty brackets
  • Setting list or item wrappers to 'none' was not remembered in settings.
  • fixed fopen error on servers with allow_url_fopen disabled


  • Fixes two bugs with custom taxonomy limits, courtesy @nickd32


  • Defined custom fields for testimonials and quotes were not appearing.
  • Added 'title' as a custom field for testimonials and quotes.
  • Corrected a too-generically named constant.


  • Removed a stray variable which was triggering a warning.
  • Added an array check before running a foreach loop on a sometimes-absent value


  • Initial release

Requires: 4.1 or higher
Compatible up to: 4.6.1
Last Updated: 2 months ago
Active Installs: 700+


4.6 out of 5 stars


0 of 1 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

1 person says it works.
1 person says it's broken.

100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,3,3 100,3,3 100,1,1 100,1,1 100,1,1
100,1,1 100,2,2 100,1,1 100,3,3
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1