Description
By default, WordPress only allows 30 custom field names/keys to be listed in the dropdown selection ‘Name’ field when writing a post or page. If you, or the plugins you use, make use of a lot of custom field key names, you may surpass the default limit resulting in some custom field keys not being listed. This may force post authors to manually type in custom field key names if they aren’t listed, which increases the chances for naming errors (typos, or not using the precise key name that is needed). This may also cause some authors concern wondering where previously used custom field keys have gone since they aren’t listed.
This plugin increases the limit to 200 custom field key names.
There is no settings page to customize the default value. If you’d like to list some number of custom field key names other than 200 (say, for example, 100), you can do so in either of two ways:
- By editing your wp-config.php file and at the end adding a line such as:
define( ‘CUSTOM_FIELD_NAMES_LIMIT’, 100 );
-or- - Somewhere — ideally in a mu-plugin or site-specific plugin, or less ideally your active theme’s functions.php file — hook the ‘c2c_list_more_custom_field_names’ filter and return the number you’d like to use:
add_filter( ‘c2c_list_more_custom_field_names’, function ( $limit ) { return 100; } );
Notes:
* The constant, if defined and truthy, takes precedence over the filter.
* If either the constant is defined or the filter is hooked but the value configured or returned is not an integer (or an integer string), then the plugin’s default will be used.
* The limit specified must be equal to or greater than the WordPress default of 30.
Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage
Installation
- Install via the built-in WordPress plugin installer. Or download and unzip
list-more-custom-field-names.zipinside the plugins directory for your site (typicallywp-content/plugins/) - Activate the plugin through the ‘Plugins’ admin menu in WordPress
- (Optional) In wp-config.php, customize the number of custom fields you want shown. The default of 200 can be changed by adding a line like:
define( ‘CUSTOM_FIELD_NAMES_LIMIT’, 100 );
FAQ
-
What is the default number of custom field names/keys that WordPress lists in the admin when writing/editing pages and posts?
-
WordPress only lists up to 30.
-
How many custom field names/keys does this plugin list in the admin when writing/editing pages and posts?
-
By default, this plugin lists up to 200. You can customize this value to anything equal to or above the WordPress default of 30.
-
How can I customize the default number of custom field name/keys listed in the admin when writing/editing pages and posts?
-
There are two ways you can customize this value (in both examples, change 100 to the number you’d like to use):
-
In your wp-config.php file (in the root directory of your site), add the following line of code (making sure it is after the opening
<?phpPHP tag (and before the closing?>PHP tag if one is present):define( 'CUSTOM_FIELD_NAMES_LIMIT', 100 ); -
Somewhere — ideally in a mu-plugin or site-specific plugin, or less ideally your active theme’s functions.php file — hook the ‘c2c_list_more_custom_field_names’ filter and return the number you’d like:
add_filter( 'c2c_list_more_custom_field_names', function ( $limit ) { return 100; } );
-
-
Does this affect which custom field keys are shown?
-
This plugin only affects how many custom field keys WordPress includes in the dropdown. WordPress will return the configured number of custom fields from the full alphabetized list of all custom field keys. WordPress excludes private custom field keys, which will continue to be hidden.
-
Is it possible to include all available custom field keys?
-
Currently with this plugin this is only possible by explicitly configuring a high enough value such that it exceeds the number of custom field keys in use.
Programmatically, the plugin’s filter could be hooked by code that determines the exact number of custom keys and then uses that value.
-
Can configuring a large enough number affect page loading performance when editing a post?
-
Yes, but it depends on the number you’ve configured and the actual number of custom field keys in use on the site. If you’re showing just a few hundred, you should be fine. (Anything more and the dropdown might become unwieldy anyhow.) Simply lower the value if you feel the page load has been slowed (and verify that the change actually sped things back up).
-
Why don’t I see form fields for adding/editing custom fields for a post, as mentioned by documentation for this plugin?
-
The block editor does not expose the “Custom Fields” meta box by default, so it may not be shown. Plugins (such as Advanced Custom Fields) may also hide the meta box for custom fields. This plugin has no effect on the presence of the “Custom Fields” input fields or their functionality.
-
Is this plugin tested through PHP 8.5+?
-
Yes.
-
Does this plugin have unit tests?
-
Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the plugin’s GitHub repository.
Reviews
Contributors & Developers
“List More Custom Field Names” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “List More Custom Field Names” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.5 (2026-06-12)
Highlights:
This release enforces a minimum configured limit of 30, honors a higher limit defined externally, permits stringy integer values, falls back to default limit if configured limit is invalid (negative or non-integer), improves docs, and notes compatibility through WP 7.0+ and PHP 8.5+.
Details:
- New: Enforce a minimum limit (the WordPress default of 30)
- Change: Prefer the higher limit if one gets passed in
- Change: Use default limit if configured value is not an integer
- Change: Use default limit if configured limit is negative rather than casting as positive
- Change: Treat an integer string as an integer
- Change: Use
exitinstead ofdie()when bailing on direct file invocation - New: Add additional FAQ entries and improve some documentation
- Change: Note compatibility through WP 7.0+
- Change: Note compatibility through PHP 8.5+
- Change: Add ‘Requires at least’ and ‘Requires PHP’ headers to main plugin file
- Change: Update copyright date (2026)
- Change: Fix minor documentation typos
1.4.1 (2025-04-17)
- Change: Note compatibility through WP 6.8+
- Change: Note compatibility through PHP 8.3+
- Change: Update copyright date (2025)
1.4 (2024-08-20)
- New: Add second argument to ‘c2c_list_more_custom_field_names’ for the preexisting limit
- Change: Note compatibility through WP 6.6+
- Change: Update copyright date (2024)
- Change: Reduce number of ‘Tags’ from
readme.txt - Change: Remove development and testing-related files from release packaging
- Unit tests:
- Hardening: Prevent direct web access to
bootstrap.php - Change: In bootstrap, store path to plugin directory in a constant
- Hardening: Prevent direct web access to
- Change: Tweak formatting in
readme.txtandREADME.md
1.3.9 (2023-06-06)
- Change: Note compatibility through WP 6.3+
- Change: Update copyright date (2023)
- New: Add
.gitignorefile - Unit tests:
- Allow tests to run against current versions of WordPress
- New: Add
composer.jsonfor PHPUnit Polyfill dependency - Change: Prevent PHP warnings due to missing core-related generated files
Full changelog is available in CHANGELOG.md.
