The pre_{$taxonomy}_{$field} WordPress PHP filter allows you to modify a taxonomy field value before it is sanitized. The dynamic portions of the filter name, $taxonomy
and $field
, refer to the taxonomy slug and field name, respectively.
Usage
add_filter('pre_{$taxonomy}_{$field}', 'your_custom_function', 10, 1); function your_custom_function($value) { // your custom code here return $value; }
Parameters
$value
(mixed): Value of the taxonomy field.
More information
See WordPress Developer Resources: pre_{$taxonomy}_{$field}
Examples
Modify category description before saving
In this example, we append a string to the category description before saving it.
add_filter('pre_category_description', 'append_text_to_description', 10, 1); function append_text_to_description($value) { $value .= ' - Custom Text'; return $value; }
Add a prefix to custom taxonomy title
In this example, we add a prefix to a custom taxonomy (book_genre) title before saving.
add_filter('pre_book_genre_name', 'add_prefix_to_book_genre_title', 10, 1); function add_prefix_to_book_genre_title($value) { $value = 'Genre: ' . $value; return $value; }
Sanitize custom taxonomy (movie_rating) slug
In this example, we sanitize the custom taxonomy (movie_rating) slug before saving.
add_filter('pre_movie_rating_slug', 'sanitize_movie_rating_slug', 10, 1); function sanitize_movie_rating_slug($value) { $value = sanitize_title($value); return $value; }
Remove special characters from a tag name
In this example, we remove special characters from a tag name before saving.
add_filter('pre_post_tag_name', 'remove_special_chars_from_tag_name', 10, 1); function remove_special_chars_from_tag_name($value) { $value = preg_replace('/[^a-zA-Z0-9\s]/', '', $value); return $value; }
Convert custom taxonomy (recipe_type) description to uppercase
In this example, we convert the custom taxonomy (recipe_type) description to uppercase before saving.
add_filter('pre_recipe_type_description', 'convert_description_to_uppercase', 10, 1); function convert_description_to_uppercase($value) { $value = strtoupper($value); return $value; }