Custom Fields for Gutenberg


Restores the Custom Field meta box for the Gutenberg Block Editor.

Update: This plugin currently is not needed, as WordPress version 5.0+ displays Custom Fields natively. Just click the settings button (three dots) and go to Options, where you will find the option to display the Custom Fields meta box. So this plugin still works great, but it is recommended to use native WP custom fields instead. For more information, read this post.


  • Easy to use
  • Clean code
  • Built with the WordPress API
  • Lightweight, fast and flexible
  • Works great with other WordPress plugins
  • Plugin options configurable via settings screen
  • Focused on flexibility, performance, and security
  • One-click restore plugin default options
  • Translation ready


  • Specify the post types that should display custom fields
  • Exclude custom fields that are protected/hidden
  • Exclude custom fields with empty values
  • Exclude specific custom fields by name

Planned Features

  • Ajaxify adding of new Custom Fields
  • Ajax method to Delete custom fields


This plugin does not collect or store any user data. It does not set any cookies, and it does not connect to any third-party locations. Thus, this plugin does not affect user privacy in any way.

Custom Fields for Gutenberg is developed and maintained by Jeff Starr, 15-year WordPress developer and book author.

Support development

I develop and maintain this free plugin with love for the WordPress community. To show support, you can make a donation or purchase one of my books:

And/or purchase one of my premium WordPress plugins:

Links, tweets and likes also appreciated. Thanks! 🙂


  • Plugin Settings Screen (showing default options)
  • Custom Fields displayed on Gutenberg screen


Installing the plugin

  1. Upload the plugin to your blog and activate
  2. Configure the plugin settings as desired
  3. Enable theme switcher via settings or shortcode

More info on installing WP plugins


Works just like the original «Custom Fields» meta box, except:

  • Edit custom field — make any changes and then click the Post «Update» or «Publish» button
  • Add new custom field — add new custom field, click «Update» or «Publish», and then reload the page
  • Delete custom field — set the field custom field Key/Name to a blank value, click «Update» or «Publish», then reload the page


This plugin cleans up after itself. All plugin settings will be removed from your database when the plugin is uninstalled via the Plugins screen. Custom Fields will NOT be removed.

Like the plugin?

If you like Custom Fields for Gutenberg, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!


Is this plugin needed with WP 5.0 and beyond?

No. As of WordPress 5.0, Custom Fields are natively supported, so this plugin is not needed to view custom fields on posts (via the «Edit Post» screen). Understand however that custom fields may not be supported after 2022, so this plugin may again be useful if/when that happens. For more information, check out this post.

Got a question?

Send any questions or feedback via my contact form


9 Փետրվարի, 2019 1 reply
Like many others I was frustrated when my custom fields disappeared after the WP 5 upgrade & implementation of block editing. I installed this plugin and it worked... but it is quirky and difficult to work with. (Only one custom field can be saved at a time and once saved, a field cannot be easily edited or deleted). But it turns out that the custom field function can now be restored without a plugin as an advanced option setting. (With edit screen open, click the 3 dots in upper right, to the right of the gear icon; then click "options" on the drop down menu; then under the "Advanced Panels" section, check the "Custom Fields" box).
23 Դեկտեմբերի, 2018
Helpful - it brings back the custum fields function. Only bad thing: using 3 custom fields, means that I have to save the page 3 times - each time after each custom field.
Read all 16 reviews

Contributors & Developers

“Custom Fields for Gutenberg” is open source software. The following people have contributed to this plugin.


“Custom Fields for Gutenberg” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “Custom Fields for Gutenberg” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


If you like Custom Fields for Gutenberg, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!

2.3.8 (2023/10/19)

  • Updates default translation template
  • Updates custom banner notice
  • Tests on WordPress 6.4 (beta)

2.3.7 (2023/07/09)

  • Improves font-icon CSS styles
  • Improves localization functionality
  • Adds custom notice on settings page
  • Updates default translation template
  • Tests on WordPress 6.3 (beta)

2.3.6 (2023/02/25)

  • Appends version number to CSS/JS URLs
  • Improves logic when calling get_current_screen()
  • Tests on WordPress 6.1 + 6.2 (beta)
  • Tests on PHP 8.1 and 8.2

2.3.5 (2022/09/24)

  • Improves plugin settings page
  • Improves plugin documentation
  • Tests on WordPress 6.1

2.3.4 (2022/09/23)

  • Adds «Show Support» link to plugin settings
  • Adds custom footer text to plugin settings
  • Improves plugin documentation
  • Tests on WordPress 6.1

2.3.3 (2022/05/15)

  • Tests on WordPress 6.0

2.3.2 (2022/01/10)

  • Improves loading of translations
  • Changes minimum required WP version to 4.6
  • Tests on WordPress 5.9

2.3.1 (2021/07/12)

  • Tests on WordPress 5.8

2.3 (2021/02/08)

  • Tests on WordPress 5.7

2.2 (2020/08/02)

  • Updates plugin script to account for changes in jQuery UI
  • Tests on PHP 7.4 and 8.0
  • Tests on WordPress 5.6

2.1.1 (2020/08/02)

  • Improves targeted output of settings page variables
  • Tests on WordPress 5.5

2.1 (2020/08/02)

  • Bumps version number
  • Tests on WordPress 5.5

2.0 (2020/03/13)

  • Bumps version number
  • Tests on WordPress 5.4

1.9 (2019/10/24)

  • Updates styles for plugin settings page
  • Tests on WordPress 5.3

1.8 (2019/09/02)

  • Updates some links to https
  • Tests on WordPress 5.3 (alpha)

1.7 (2019/04/28)

  • Bumps minimum PHP version to 5.6.20
  • Updates default translation template
  • Tests on WordPress 5.2

1.6 (2019/03/06)

  • Renames plugin to «Custom Fields for Gutenberg Block Editor»
  • Checks admin user for the plugin settings shortcut link
  • Only display custom fields for Block Editor (not Classic Editor)
  • Refines appearance/styles on plugin settings page
  • Tweaks plugin settings screen UI
  • Generates new default translation template
  • Tests on WordPress 5.1 and 5.2 (alpha)

1.5 (2019/02/02)

  • Tests on WordPress 5.1
  • Updates docs/readme regarding WP and Custom Fields

1.4 (2018/11/12)

  • Refactors plugin for changes in WP/Gutenberg
  • Adds option to force display Custom Fields meta box (for ACF plugin)
  • Custom Fields box now loads on posts that do not have any meta data
  • Resolves issue where new custom fields could not be added
  • Adds homepage link to Plugins screen
  • Updates default translation template
  • Tests on WordPress 5.0 (beta)

1.3 (2018/08/14)

  • Adds rel="noopener noreferrer" to all blank-target links
  • Makes it possible to delete any custom field by setting its key/name to blank value
  • Adds «rate plugin» link to settings page
  • Updates donate link
  • Updates GDPR blurb
  • Regenerates default translation template
  • Further tests on WP versions 4.9 and 5.0 (alpha)

1.2 (2018/03/27)

  • Improves logic of g7g_cfg_get_post_types()
  • Replaces update_option with delete_option in g7g_cfg_reset_options
  • Renames G7G_DisplayCustomFields to G7G_CFG_CustomFields
  • Replaces readme.txt URL with WP Plugin Directory URL
  • Further tests on WordPress 5.0 (alpha)

1.1 (2018/03/26)

  • Replaces filemtime() with g7g_cfg_random_string()
  • Changes name and slug to meet WP Directory requirements
  • Renames plugin from «Gutenberg Display Custom Fields» to «Custom Fields for Gutenberg»
  • Renames plugin constants
  • Renames all functions
  • Renames options, et al
  • Regenerates default translation file

1.0 (2018/03/25)

  • Initial release