Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Advanced Custom Fields

Customise WordPress with powerful, professional and intuitive fields

Advanced Custom Fields is the perfect solution for any WordPress website which needs more flexible data like other Content Management Systems.

  • Visually create your Fields
  • Select from multiple input types (text, textarea, wysiwyg, image, file, page link, post object, relationship, select, checkbox, radio buttons, date picker, true / false, repeater, flexible content, gallery and more to come!)
  • Assign your fields to multiple edit pages (via custom location rules)
  • Easily load data through a simple and friendly API
  • 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

Field Types

  • Text (type text, api returns text)
  • Text Area (type text, api returns text)
  • Number (type number, api returns integer)
  • Email (type email, api returns text)
  • Password (type password, api returns text)
  • WYSIWYG (a wordpress wysiwyg editor, api returns html)
  • Image (upload an image, api returns the url)
  • File (upload a file, api returns the url)
  • Select (drop down list of choices, api returns chosen item)
  • Checkbox (tickbox list of choices, api returns array of choices)
  • Radio Buttons ( radio button list of choices, api returns chosen item)
  • True / False (tick box with message, api returns true or false)
  • Page Link (select 1 or more page, post or custom post types, api returns the selected url)
  • Post Object (select 1 or more page, post or custom post types, api returns the selected post objects)
  • Relationship (search, select and order post objects with a tidy interface, api returns the selected post objects)
  • Taxonomy (select taxonomy terms with options to load, display and save, api returns the selected term objects)
  • User (select 1 or more WP users, api returns the selected user objects)
  • Google Maps (interactive map, api returns lat,lng,address data)
  • Date Picker (jquery date picker, options for format, api returns string)
  • Color Picker (WP color swatch picker)
  • Tab (Group fields into tabs)
  • Message (Render custom messages into the fields)
  • Custom (Create your own field type!)


The Advanced Custom Fields plugin is also available in a professional version which includes more fields, more functionality, and more flexibility! At the core of ACF PRO is a brand new version of ACF (version 5) which includes searchable drop downs, smarter and faster DB calls, improved UI and much much more!

  • Repeater - Create a set of sub fields which can be repeated again and again whilst editing content!
  • Gallery - Simple and intuitive interface for managing a collection of images.
  • Flexible Content - Define groups of sub fields and add, edit, and re-order them to create highly customised content!
  • Options pages - Add extra admin pages to edit ACF fields!

Tested on

  • Mac Firefox :)
  • Mac Safari :)
  • Mac Chrome :)
  • PC Safari :)
  • PC Chrome :)
  • PC Firefox :)
  • iPhone Safari :)
  • iPad Safari :)
  • PC ie7 :S



Bug Submission and Forum Support

Please Vote and Enjoy

Your votes really make a difference! Thanks.

Author Elliot Condon
Contributors elliotcondon
Tags admin, advanced, custom, custom field, edit, field, file, image, magic fields, matrix, more fields, Post, repeater, simple fields, text, textarea, type
  1. advanced-custom-fields screenshot 1

    Creating the Advanced Custom Fields

  2. advanced-custom-fields screenshot 2

    Adding the Custom Fields to a page and hiding the default meta boxes

  3. advanced-custom-fields screenshot 3

    The Page edit screen after creating the Advanced Custom Fields

  4. advanced-custom-fields screenshot 4

    Simple and intuitive API. Read the documentation at:

  1. Upload 'advanced-custom-fields' to the '/wp-content/plugins/' directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Click on the new menu item "Custom Fields" and create your first Custom Field Group!
  4. Your custom field group will now appear on the page / post / template you specified in the field group's location rules!
  5. Read the documentation to display your data:


  • Core: Improved logic to better delete term meta during 'delete_term' action
  • Core: Fixed bug causing potential conflict between user and post object cache names
  • Language: Updated Italian translation - thanks to Ste Yeu


  • WYSIWYG field: Fixed JS error preventing tinymce from initializing


  • Image field: Added nicer 'Edit image' view
  • File field: Added nicer 'Edit file' view


  • Google Map: Added new 'acf/fields/google_map/api' filter


  • Relationship field: Fixed bug preventing values from being selected in WP 4.5
  • Google Map field: Fixed bug preventing map to load within repeater field
  • Core: Fixed PHP error when loading ACF values on 'The Events Calendar' (plugin) page
  • Language: Updated Portuguese translation - thanks to Pedro Mendonca


  • Google Map field: Improved compatibility with 3rd party plugins including Google JS API
  • API: Improved get_ functions to load value from the current queried object (post, user, term)
  • Core: Added support for new WP 4.5 term edit page
  • Language: Updated Portuguese translation - thanks to Pedro Mendonca
  • Language: Added Welsh translation - thanks to Carl Morris
  • Language: Added Indonesian translation - thanks to Rio Bermano


  • Core: Fixed metabox title appearing on seamless field groups
  • Language: Updated Portuguese translation
  • Language: Updated Polish translation


  • Field group: Fixed disabled update button after saving with empty title
  • Core: Minor fixes and improvements
  • Language: Updated Portuguese translation
  • Language: Updated French translation
  • Language: Updated Polish translation
  • Language: Added Finnish translation


  • WYSIWYG field: Added compatibility for WP 4.3 filters
  • Core: Minor fixes and improvements
  • Language: Updated Polish translation - thanks to Maciej


  • Image field: Fixed UI bug when image has been removed via media library
  • Core: Minor fixes and improvements


  • Taxonomy field: Added compatibility for upcoming 'term splitting' in WP 4.2
  • Taxonomy field: Major improvement to save/load setting allowing for different values on multiple sub fields
  • Core: Minor fixes and improvements


  • Core: Fixed depreciated warnings


  • Core: Added compatibility for WP4 media grid
  • Relationship field: Fixed bug showing incorrect post type
  • Language: Added Slovak translations - Thanks to
  • Language: Added Serbo-Croatian translation - thanks to Borisa Djuraskovic
  • Language: Updating Persian translation - Thanks to Ghaem Omidi


  • Validation: Fixed disabled button issue in WP 3.9


  • WYSIWYG field: Fixed missing tinyMCE buttons in WP 3.9


  • Core: Improved efficiency and speed when saving values by removing ACF meta from the native WP postmeta box
  • Field Group: Fixed cache issue causing field settings to not update
  • WYSIWYG field: Added support for new tinymce 4 in WP 3.9
  • Number field: Fixed bug causing blank values to save as 0
  • Google Maps field: Fixed JS bug causing google maps to not render when Google library is already loaded
  • Validation: Fixed JS bug where hidden field groups's fields were being validated


  • Textarea field: Added new rows setting
  • API: Added $format_value parameter to the get_fields function
  • Core: Improved conditional logic & tab JS performance
  • Core: Removed changelog anouncement in plugins update list
  • Core: Fixed anoying wp is not defined JS error
  • Core: Added logic to load full or minified scripts using the SCRIPT_DEBUG constant
  • Core: Improved loading structure to better allow ACF functions within the functions.php file
  • Core: Fixed revisions bug causing sub field data to not restore
  • Core: Made use of WP datepicker UI
  • Field Group: Changed post location rule to show all post types
  • Field Group: Changed page location rule to show only page post type
  • Field Group: Added new filter for meta box priority acf/input/meta_box_priority
  • Language: Added missing translation support in multiple fields
  • Language: Added Hebrew translation - Thanks to Erez Lieberman
  • Language: Updating Czech translations - Thanks to webeescz


  • Post Object field: Fixed get_pages bug cuasing 'pages' to not appear
  • Page Link field: Fixed get_pages bug cuasing 'pages' to not appear
  • Tab field: Fixed JS bug causing multiple tab groups on page to render incorrectly
  • Language: Updated Russian translation - Thanks to Alex Torscho


  • Core: Updated styling to suit WP 3.8
  • Core: Added new logic to set 'autoload' to 'off' on all values saved to the wp_options table to help improve load speed
  • API: Added new logic to the $post_id parameter to accept an object of type post, user or taxonomy term
  • Tab field: Added compatibility with taxonomy term and user edit screens (table layout)
  • Tab field: Fixed JS bug causing incorrect tab to show when validation fails
  • Text field: Fixed bug causing append setting of '+50' to appear as '50'


  • Color Picker field: Fixed JS bug preventing wpColorPicker from updating value correctly
  • Google Map field: Added new setting for initial zoom level
  • Relationship field: minor update to fix compatibility issue with Polylang plugin
  • Relationship field: Fixed bug causing filters / actions using $field['name'] to not fire correctly
  • API: Fixed bug with have_rows/has_sub_field function where looping through multiple posts each containing nested repeater fields would result in an endless loop
  • Export: Fixed bug causing exported XML fields to become corrupt due to line breaks
  • Core: Fixed bug where duplicating a field would cause conditional logic to appear blank
  • Core: Added Conditional Logic support to hide entire column of a repeater field where max_row is 1.
  • Core: Added new field group 'hide on screen' option for 'permalink' which hides the permalink URL and buttons below the post title


  • API: Fixed bug with has_sub_field and have_rows functions causing complicated nested loops to produce incorrect results
  • API: Fixed bug with get_fields function preventing values to be returned from options page and taxonomy terms
  • Core: Fixed bug causing some SQL LIKE statements to not work correctly on windows servers
  • Core: Removed __() wrappers from PHP export, as these did not work as expected
  • Core: Fixed bug with get_pages() causing sort order issue in child page location rule
  • Core: Added specific position to ACF menu item to reduce conflicts with 3rd party plugins
  • JS: Fixed bug where conditional logic rules did not save when added using a '+' button above the last rule
  • Radio field: Fixed bug where 'other' would be selected when no value exists
  • WYSIWYG field: Added support for users with disabled visual editor setting
  • JS: Improved validation for fields that are hidden by a tab
  • Google maps field: Add refresh action when hidden / shown by a tab





  • IMPORTANT: ACF now requires a minimum WordPress version of 3.5.0
  • Full integration between attachments and custom fields!
  • Text field: Added new options for prepend, append, placeholder and character limit
  • Textarea field: Added new options for prepend, append, placeholder and character limit
  • Number field: Added new options for prepend, append and placeholder
  • Email field: Added new options for prepend, append and placeholder
  • Password field: Added new options for prepend, append and placeholder
  • Image field: fixed safari bug causing all images to appear small
  • Core: Improved save_lock functionality to prevent inifinite loops when creating a post on the fly
  • Core: Major JS improvements including .live changed to .on
  • Compatibility: Fixed WYSIWYG JS bug with Visual Composer plugin
  • Language: Added Persian Translation - thanks to Ghaem Omidi
  • Language: Updated German translation - thanks to Thomas Meyer
  • Language: Added Swedish translation - thanks to Mikael Jorhult




  • Image field: Fixed JS error causing uploader to not work correctly
  • File field: Fixed JS error causing uploader to not work correctly
  • Gallery field: Fixed JS error causing uploader to not work correctly
  • General: Fixed JS error causing field groups to not appear when dynamically loaded






  • [Fixed] Relationship field: Fix bug causing sub field to not load $field object / use elements option correctly
  • [Updated] Update German translations


  • [Added] Field group: location rules can now be grouped into AND / OR statements
  • [Added] Relationship field: Add option for filters (search / post_type)
  • [Added] Relationship field: Add option for elements (featured image / title / post_type)
  • [Added] Relationship field: Add post_id and field parameters to both ajax filter functions
  • [Added] Date Picker field: Add options for first_day
  • [Added] Date Picker field: Add text strings for translation
  • [Added] Select field: Add support for multiple default values
  • [Added] Checkbox field: Add support for multiple default values -
  • [Updated] Minor JS + CSS improvements
  • [Added] Added free Add-ons to the admin page
  • [Fixed] Fixed minor bugs





  • [Fixed] Fix PHP error in text / textarea fields


  • [Fixed] Fix issues with location rules wrongly matching


  • [Fixed] Fix bug with 3.5.6 not showing front end form

  • [Fixed] Fix WYSIWYG webkit browser issues.

  • [Fixed] Fix bug causing field groups to not display on the options page.



  • [Fixed] Fix bug preventing options pages from appearing in the field group's location rules


  • Minor bug fixes for 3.5.3



  • Security update












  • [Fixed] Fix location rule bug for taxonomy.



  • [Upgrade] Database Upgrade is required to modify the taxonomy filtering data for fields. This allows for performance boosts throughout ACF.
  • [Improved] relationship field: Improve querying posts / results and use AJAX powered search to increase performance on large-scale websites
  • [Improved] post object field: Improve querying posts / results


  • [Fixed] Integrate with Shopp plugin



  • [Fixed] Gallery not returning correct order


  • [Added] Add new Gallery Field
  • [Fixed] Test / Fix update_field on repeater / flexible content
  • [Fixed] Fix regex JS issue with adding nested repeaters
  • [Added] Add new Czech translation - Thanks to Webees ( )









  • Field groups can now be added to options page with layout "side"
  • Fixed debug error when saving a taxonomy:
  • Fixed unnecessary code: Remove Strip Slashes on save functions
  • Added new add row buttons to the repeater field and upgraded the css / js
  • Fixed debug error caused by the WYSIWYG field: wp_tiny_mce is deprecated since version 3.3! Use wp_editor() instead.
  • Fixed duplicate field error where all sub fields became repeater fields.
  • Add Swedish translation:
  • CSS improvements
  • Fixed IE9 Bug not returning an image preview on upload / select
  • Fixed Multi export php syntax bug.


  • Fixed Browser bug with Flexible Field: Add Row button works again
  • Added Brazilian Translation. Thanks to Marcelo Paoli Graciano -
  • Reverted input CSS to separate field label / instructions onto new lines.


  • Updated Images / JS - Please hard refresh your browser to clear your cache
  • Remove caching from acf_field_groups, replace with temp cache
  • Add "Duplicate Field" on field group edit page
  • Fix link to documentation on field group edit page
  • add "update_value" to API
  • Include new Polish translation
  • Create a nicer style for flexible content
  • Create a nicer style for repeater fields with row layout
  • Create a nicer style for "no metabox" fields
  • Add Spanish translation. Thanks to @hectorgarrofe
  • Fix css for options page no metabox
  • Added custom post_updated_messages
  • Changed "Drag and drop to reorder" from an image to a string for translation


  • Options page fields now save their data in the wp_options table. This will require a "Database Upgrade" when you update ACF. This upgrade will move your Options page data from the postmeta table to the options table.
  • Added _e() and __() functions to more text throughout plugin
  • Added new French translation. Thanks to Martin Vauchel @littlbr
  • Fixed duplicate WYSIWYG in chrome bug
  • New Location rules: add fields to a user / taxonomy / attachment
  • Bug Fix: Color picker now shows color on page load. Thanks to Kevin Ruscoe"
  • CSS tweaks File clearfix, new style for selects with optgroups
  • Simplified get_value to return default value if value == ""
  • API now allows for "option" and "options" for the $post_id value in API functions


  • Bug fix: Image field returns correct url after selecting one or more images
  • Translation: Added Polish translation. Thank you Bartosz Arendt - Digital Factory -
  • Update : Added id attribute to all div.field (id="acf-$field_name")


  • New style for buttons
  • Bug Fix: Repeater maximum row setting was disabling the "add row" button 1 row early.
  • Performance: Field options are now loaded in via ajax. This results in much less HTML on the edit field group page
  • Performance: Field inputs are now loaded in via ajax. Again, less HTML on edit screens improves load times / memory usage
  • Bug Fix: Field groups registered by code were not showing on ajax change (category / page type / page template / etc). To fix this, your field group needs a unique ID. When you export a field group, you will now be given a unique ID to fix this issue. Field groups without a fixed id will still show on page load.
  • New Option: Repeater field can now have a custom button label
  • New Option: Flexible content field can now have a custom button label
  • Improvement: Updated the HTML / CSS for file fields with icon
  • Bug Fix: Fixed multi upload / select image in repeater.
  • Performance: Added caching to the get_field function. Templates will now render quicker.
  • Bug Fix: Fixed Post formats location rule - it now works.
  • Nested repeaters are now possible!


  • Improvement: Redesigned the experience for uploading and selecting images / files in fields and sub fields. Image / File fields within a repeater can now add multiple images / files


  • New Feature: Front end form (Please read documentation on we

Q. I have a question

A. Chances are, someone else has asked it. Check out the support forum at:

Version 4.4.11

Requires WordPress version: 3.5.0 or higher

Compatible up to: 4.7.0

Last Updated 23 Oct 2016

Date Added: 25 Mar 2011

Plugin Homepage


4.9 stars
940 ratings


Not Enough Data

Works: 0
Broken: 0