The pre_{$field} WordPress PHP filter allows you to modify the value of a specific post field before it gets saved to the database.
Usage
add_filter('pre_{$field}', 'your_custom_function', 10, 1);
function your_custom_function($value) {
// your custom code here
return $value;
}
Parameters
$value(mixed): The value of the post field.
More information
See WordPress Developer Resources: pre_{$field}
Examples
Modify post title before saving
add_filter('pre_post_title', 'modify_post_title', 10, 1);
function modify_post_title($title) {
// Add a prefix to the post title
$title = "Modified: " . $title;
return $title;
}
Add a suffix to the post excerpt
add_filter('pre_post_excerpt', 'add_excerpt_suffix', 10, 1);
function add_excerpt_suffix($excerpt) {
// Add a suffix to the post excerpt
$excerpt .= " - Read more!";
return $excerpt;
}
Sanitize custom field value
add_filter('pre_post_meta_key', 'sanitize_custom_field', 10, 1);
function sanitize_custom_field($value) {
// Sanitize custom field value
$value = sanitize_text_field($value);
return $value;
}
Convert post content to uppercase
add_filter('pre_post_content', 'uppercase_post_content', 10, 1);
function uppercase_post_content($content) {
// Convert post content to uppercase
$content = strtoupper($content);
return $content;
}
Replace specific word in post title
add_filter('pre_post_title', 'replace_word_in_title', 10, 1);
function replace_word_in_title($title) {
// Replace 'example' with 'demo' in the post title
$title = str_replace('example', 'demo', $title);
return $title;
}