The default_title WordPress PHP filter modifies the default post title initially used in the “Write Post” form.
Usage
add_filter('default_title', 'your_custom_function', 10, 2);
function your_custom_function($post_title, $post) {
// your custom code here
return $post_title;
}
Parameters
- $post_title (string) – The default post title.
- $post (WP_Post) – The post object.
More information
See WordPress Developer Resources: default_title
Examples
Set a custom default title
Set a custom default title for all new posts.
add_filter('default_title', 'custom_default_title', 10, 2);
function custom_default_title($post_title, $post) {
$post_title = 'My Custom Default Title';
return $post_title;
}
Add a date to the default title
Append the current date to the default post title.
add_filter('default_title', 'append_date_to_title', 10, 2);
function append_date_to_title($post_title, $post) {
$post_title .= ' - ' . date('F j, Y');
return $post_title;
}
Set default title based on post type
Set a different default title for each post type.
add_filter('default_title', 'set_title_based_on_post_type', 10, 2);
function set_title_based_on_post_type($post_title, $post) {
if ($post->post_type == 'page') {
$post_title = 'New Page';
} elseif ($post->post_type == 'post') {
$post_title = 'New Blog Post';
}
return $post_title;
}
Prefix default title with the author’s name
Add the author’s display name as a prefix to the default post title.
add_filter('default_title', 'prefix_title_with_author_name', 10, 2);
function prefix_title_with_author_name($post_title, $post) {
$author_name = get_the_author_meta('display_name', $post->post_author);
$post_title = $author_name . ': ' . $post_title;
return $post_title;
}
Make the default title uppercase
Transform the default post title to uppercase.
add_filter('default_title', 'uppercase_default_title', 10, 2);
function uppercase_default_title($post_title, $post) {
$post_title = strtoupper($post_title);
return $post_title;
}