The edit_category_form_pre WordPress PHP action fires before the Edit Category form, allowing you to modify the form or add custom fields.
Usage
add_action('edit_category_form_pre', 'your_custom_function'); function your_custom_function($tag) { // Your custom code here }
Parameters
$tag
(WP_Term): The current category term object.
More information
See WordPress Developer Resources: edit_category_form_pre
Examples
Adding a custom field to the Edit Category form
Add a custom text field to the Edit Category form and display it before the form.
add_action('edit_category_form_pre', 'add_custom_field_to_edit_category'); function add_custom_field_to_edit_category($tag) { // Retrieve the value of the custom field $custom_field_value = get_term_meta($tag->term_id, 'custom_field', true); // Display the custom field echo '<label for="custom_field">Custom Field</label>'; echo '<input type="text" name="custom_field" value="' . esc_attr($custom_field_value) . '">'; }
Modifying the category title
Change the category title to uppercase before displaying it on the Edit Category form.
add_action('edit_category_form_pre', 'uppercase_category_title'); function uppercase_category_title($tag) { $tag->name = strtoupper($tag->name); }
Displaying a custom message
Display a custom message below the category description field in the Edit Category form.
add_action('edit_category_form_pre', 'display_custom_message_below_description'); function display_custom_message_below_description($tag) { echo '<p class="description">This is a custom message below the description field.</p>'; }
Adding custom styles to the Edit Category form
Inject custom CSS styles into the Edit Category form.
add_action('edit_category_form_pre', 'add_custom_styles_to_edit_category'); function add_custom_styles_to_edit_category($tag) { echo '<style> .form-wrap { background-color: lightgrey; } </style>'; }
Prepopulating the category description
Prepopulate the category description field with a default value when the field is empty.
add_action('edit_category_form_pre', 'prepopulate_category_description'); function prepopulate_category_description($tag) { if (empty($tag->description)) { $tag->description = 'Default category description'; } }