The postmeta_form_limit filter allows you to change the number of custom fields displayed in the drop-down menu in the Custom Fields meta box in WordPress.
Usage
add_filter('postmeta_form_limit', 'your_custom_function_name'); function your_custom_function_name($limit) { // your custom code here return $limit; }
Parameters
$limit
(int): Number of custom fields to display. Default is 30.
More information
See WordPress Developer Resources: postmeta_form_limit
Examples
Limit custom fields to 50
Increase the number of custom fields in the drop-down menu to 50.
add_filter('postmeta_form_limit', 'increase_postmeta_limit'); function increase_postmeta_limit($limit) { $limit = 50; return $limit; }
Limit custom fields to 10
Decrease the number of custom fields in the drop-down menu to 10.
add_filter('postmeta_form_limit', 'decrease_postmeta_limit'); function decrease_postmeta_limit($limit) { $limit = 10; return $limit; }
Double the custom fields limit
Double the number of custom fields displayed in the drop-down menu.
add_filter('postmeta_form_limit', 'double_postmeta_limit'); function double_postmeta_limit($limit) { $limit = $limit * 2; return $limit; }
Set custom fields limit based on user role
Set a different limit for custom fields based on the user’s role.
add_filter('postmeta_form_limit', 'role_based_postmeta_limit'); function role_based_postmeta_limit($limit) { if (current_user_can('editor')) { $limit = 60; } elseif (current_user_can('author')) { $limit = 40; } else { $limit = 20; } return $limit; }
Remove custom fields limit
Remove the limit on custom fields displayed in the drop-down menu.
add_filter('postmeta_form_limit', 'remove_postmeta_limit'); function remove_postmeta_limit($limit) { $limit = -1; return $limit; }